{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033
{\fonttbl {\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}
{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}
}
{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}
{\stylesheet
{\widctlpar\adjustright \fs20\cgrid \snext0 Normal;}
{\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid \sbasedon0 \snext0 heading 1;}
{\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid \sbasedon0 \snext0 heading 2;}
{\s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid \sbasedon0 \snext0 heading 3;}
{\s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext0 heading 4;}{\*\cs10 \additive Default Paragraph Font;}
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext0 heading 5;}{\*\cs10 \additive Default Paragraph Font;}
{\s15\qc\sb240\sa60\widctlpar\outlinelevel0\adjustright \b\f1\fs32\kerning28\cgrid \sbasedon0 \snext15 Title;}
{\s16\qc\sa60\widctlpar\outlinelevel1\adjustright \f1\cgrid \sbasedon0 \snext16 Subtitle;}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid \sbasedon0 \snext17 BodyText;}
{\s18\widctlpar\fs22\cgrid \sbasedon0 \snext18 DenseText;}
{\s28\widctlpar\tqc\tx4320\tqr\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext28 header;}
{\s29\widctlpar\tqc\tx4320\tqr\tx8640\qr\adjustright \fs20\cgrid \sbasedon0 \snext29 footer;}
{\s30\li360\sa60\sb120\keepn\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext30 GroupHeader;}
{\s40\li0\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext41 Code Example 0;}
{\s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext42 Code Example 1;}
{\s42\li720\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext43 Code Example 2;}
{\s43\li1080\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext44 Code Example 3;}
{\s44\li1440\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext45 Code Example 4;}
{\s45\li1800\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext46 Code Example 5;}
{\s46\li2160\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext47 Code Example 6;}
{\s47\li2520\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext48 Code Example 7;}
{\s48\li2880\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext49 Code Example 8;}
{\s49\li3240\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid \sbasedon0 \snext49 Code Example 9;}
{\s50\li0\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext51 List Continue 0;}
{\s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext52 List Continue 1;}
{\s52\li720\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext53 List Continue 2;}
{\s53\li1080\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext54 List Continue 3;}
{\s54\li1440\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext55 List Continue 4;}
{\s55\li1800\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext56 List Continue 5;}
{\s56\li2160\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext57 List Continue 6;}
{\s57\li2520\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext58 List Continue 7;}
{\s58\li2880\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext59 List Continue 8;}
{\s59\li3240\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid \sbasedon0 \snext59 List Continue 9;}
{\s60\li0\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext61 DescContinue 0;}
{\s61\li360\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext62 DescContinue 1;}
{\s62\li720\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext63 DescContinue 2;}
{\s63\li1080\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext64 DescContinue 3;}
{\s64\li1440\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext65 DescContinue 4;}
{\s65\li1800\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext66 DescContinue 5;}
{\s66\li2160\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext67 DescContinue 6;}
{\s67\li2520\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext68 DescContinue 7;}
{\s68\li2880\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext69 DescContinue 8;}
{\s69\li3240\widctlpar\ql\adjustright \fs20\cgrid \sbasedon0 \snext69 DescContinue 9;}
{\s70\li0\sa30\sb30\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext81 LatexTOC 0;}
{\s71\li360\sa27\sb27\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext82 LatexTOC 1;}
{\s72\li720\sa24\sb24\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext83 LatexTOC 2;}
{\s73\li1080\sa21\sb21\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext84 LatexTOC 3;}
{\s74\li1440\sa18\sb18\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext85 LatexTOC 4;}
{\s75\li1800\sa15\sb15\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext86 LatexTOC 5;}
{\s76\li2160\sa12\sb12\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext87 LatexTOC 6;}
{\s77\li2520\sa9\sb9\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext88 LatexTOC 7;}
{\s78\li2880\sa6\sb6\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext89 LatexTOC 8;}
{\s79\li3240\sa3\sb3\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid \sbasedon0 \snext89 LatexTOC 9;}
{\s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid \sbasedon0 \snext81 \sautoupd List Bullet 0;}
{\s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid \sbasedon0 \snext82 \sautoupd List Bullet 1;}
{\s82\fi-360\li1080\widctlpar\jclisttab\tx1080{\*\pn \pnlvlbody\ilvl0\ls3\pnrnot0\pndec }\ls3\adjustright \fs20\cgrid \sbasedon0 \snext83 \sautoupd List Bullet 2;}
{\s83\fi-360\li1440\widctlpar\jclisttab\tx1440{\*\pn \pnlvlbody\ilvl0\ls4\pnrnot0\pndec }\ls4\adjustright \fs20\cgrid \sbasedon0 \snext84 \sautoupd List Bullet 3;}
{\s84\fi-360\li1800\widctlpar\jclisttab\tx1800{\*\pn \pnlvlbody\ilvl0\ls5\pnrnot0\pndec }\ls5\adjustright \fs20\cgrid \sbasedon0 \snext85 \sautoupd List Bullet 4;}
{\s85\fi-360\li2160\widctlpar\jclisttab\tx2160{\*\pn \pnlvlbody\ilvl0\ls6\pnrnot0\pndec }\ls6\adjustright \fs20\cgrid \sbasedon0 \snext86 \sautoupd List Bullet 5;}
{\s86\fi-360\li2520\widctlpar\jclisttab\tx2520{\*\pn \pnlvlbody\ilvl0\ls7\pnrnot0\pndec }\ls7\adjustright \fs20\cgrid \sbasedon0 \snext87 \sautoupd List Bullet 6;}
{\s87\fi-360\li2880\widctlpar\jclisttab\tx2880{\*\pn \pnlvlbody\ilvl0\ls8\pnrnot0\pndec }\ls8\adjustright \fs20\cgrid \sbasedon0 \snext88 \sautoupd List Bullet 7;}
{\s88\fi-360\li3240\widctlpar\jclisttab\tx3240{\*\pn \pnlvlbody\ilvl0\ls9\pnrnot0\pndec }\ls9\adjustright \fs20\cgrid \sbasedon0 \snext89 \sautoupd List Bullet 8;}
{\s89\fi-360\li3600\widctlpar\jclisttab\tx3600{\*\pn \pnlvlbody\ilvl0\ls10\pnrnot0\pndec }\ls10\adjustright \fs20\cgrid \sbasedon0 \snext89 \sautoupd List Bullet 9;}
{\s90\fi-360\li360\widctlpar\fs20\cgrid \sbasedon0 \snext91 \sautoupd List Enum 0;}
{\s91\fi-360\li720\widctlpar\fs20\cgrid \sbasedon0 \snext92 \sautoupd List Enum 1;}
{\s92\fi-360\li1080\widctlpar\fs20\cgrid \sbasedon0 \snext93 \sautoupd List Enum 2;}
{\s93\fi-360\li1440\widctlpar\fs20\cgrid \sbasedon0 \snext94 \sautoupd List Enum 3;}
{\s94\fi-360\li1800\widctlpar\fs20\cgrid \sbasedon0 \snext95 \sautoupd List Enum 4;}
{\s95\fi-360\li2160\widctlpar\fs20\cgrid \sbasedon0 \snext96 \sautoupd List Enum 5;}
{\s96\fi-360\li2520\widctlpar\fs20\cgrid \sbasedon0 \snext96 \sautoupd List Enum 5;}
{\s97\fi-360\li2880\widctlpar\fs20\cgrid \sbasedon0 \snext98 \sautoupd List Enum 7;}
{\s98\fi-360\li3240\widctlpar\fs20\cgrid \sbasedon0 \snext99 \sautoupd List Enum 8;}
{\s99\fi-360\li3600\widctlpar\fs20\cgrid \sbasedon0 \snext99 \sautoupd List Enum 9;}
}
{\comment begin body}
{\info 
{\title {\comment LCV Framework Nachschlagewerk {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
1.0 \par
}}LCV Framework}
{\comment Erzeugt vonDoxgyen. }
{\creatim \yr2007\mo12\dy19\hr16\min38\sec17}
}\pard\plain 
\sectd\pgnlcrm
{\footer \s29\widctlpar\tqc\tx4320\tqr\tx8640\qr\adjustright \fs20\cgrid {\chpgn}}
\pard\plain \s16\qc\sa60\widctlpar\outlinelevel1\adjustright \f1\cgrid 
\vertalc\qc\par\par\par\par\par\par\par
\pard\plain \s15\qc\sb240\sa60\widctlpar\outlinelevel0\adjustright \b\f1\fs32\kerning28\cgrid 
{\field\fldedit {\*\fldinst TITLE \\*MERGEFORMAT}{\fldrslt TITLE}}\par
\pard\plain \s16\qc\sa60\widctlpar\outlinelevel1\adjustright \f1\cgrid 
\par
\par\par\par\par\par\par\par\par\par\par\par\par
\pard\plain \s16\qc\sa60\widctlpar\outlinelevel1\adjustright \f1\cgrid 
{\field\fldedit {\*\fldinst AUTHOR \\*MERGEFORMAT}{\fldrslt AUTHOR}}\par
Version 1.0\par{\field\fldedit {\*\fldinst CREATEDATE \\*MERGEFORMAT}{\fldrslt CREATEDATE}}\par
\page\page\vertalt
\pard\plain 
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid Inhaltsverzeichnis\par
\pard\plain \par
{\field\fldedit {\*\fldinst TOC \\f \\*MERGEFORMAT}{\fldrslt Table of contents}}\par
\pard\plain 

\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
LCV Framework Hauptseite\par \pard\plain 
{\tc \v Hauptseite}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Das LCV Framework erleichtert das Programmieren von Bildverarbeitungssoftware f\'FCr das LCV Board. Alle implementierten Funktionen sind auch auf dem Hostsystem zu Testzwecken verf\'FCgbar. \par
}}

\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
LCV Framework Datenstruktur-Verzeichnis\par \pard\plain 
{\tc \v Datenstruktur-Verzeichnis}
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
LCV Framework Datenstrukturen\par \pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid Hier folgt die Aufz\'E4hlung aller Datenstrukturen mit einer Kurzbeschreibung:}
{
\par
\pard\plain \s71\li360\sa27\sb27\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid 
{\b {\b lcv_picture} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Bilderstruktur f\'FCr unsigned 8-bit Bilder })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAIC \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\b lcv_pixel_bgr} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Pixelstruktur f\'FCr BGR Pixel })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAID \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\b lcv_reg_config} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Konfigurationsstruktur f\'FCr LCV-Register })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAIE \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
\par}
\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
LCV Framework Datei-Verzeichnis\par \pard\plain 
{\tc \v Datei-Verzeichnis}
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
LCV Framework Auflistung der Dateien\par \pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid Hier folgt die Aufz\'E4hlung aller Dateien mit einer Kurzbeschreibung:}
{
\par
\pard\plain \s71\li360\sa27\sb27\widctlpar\tqr\tldot\tx8640\adjustright \fs20\cgrid 
{\b {\b bmp-header.h} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Enth\'E4lt den Header eines Bitmaps })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAA \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\b bmp.c} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Implementation der Bitmap Funktionen })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAE \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\b bmp.h} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Funktionen zum Schreiben und Lesen einer BMP Datei })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAAQ \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\b cam-config.h} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Enth\'E4lt die Konfiguration der Kamera })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAABA \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\b cam-linux32.c} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Implementiert (bzw simuliert) die Kamera-Schnittstelle auf einem 32-bit Linux System })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAADL \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\b cam-reg-config.h} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Enth\'E4lt die Konfiguration der Kamera-Register })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAADW \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\b cam-target.c} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Implementiert die Kamera-Schnittstelle auf dem Zielsystem (LCV-Board) })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAADZ \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\b cam.h} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Die Schnittstelle zur Kamera })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAEN \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\b dip.c} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Digital Image Processing Implementationen })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAEV \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\b dip.h} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Digital Image Processing Funktionen })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAFD \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\b gpio-config.h} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Enth\'E4lt die Konfiguration der GPIO Ports })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAFL \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\b gpio-linux32.c} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Implementiert (bzw simuliert) die GPIO-Schnittstelle auf einem 32-bit Linux System })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAFQ \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\b gpio-port-config.h} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Enth\'E4lt die Ger\'E4teadressen der GPIO Ports })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAFZ \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\b gpio-target.c} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Implementiert die GPIO-Schnittstelle auf dem Zielsystem (LCV-Board) })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAGE \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\b gpio.h} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Die Schnittstelle zu den GPIO Ports })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAGJ \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\b i2c.c} } \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAGO \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\b i2c.h} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schnittstelle zu einem beliebigen I2C Bus })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAGU \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\b lcv-config.h} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Enth\'E4lt die allgemeinen Definitionen des LCV Frameworks })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAGZ \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\b lcv-structs.h} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definiert spezifische Strukturen f\'FCr die LCV })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHG \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\b log-config.h} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Die Konfigurationsdatei f\'FCr {\b log.c} })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHN \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\b log.c} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Implementiert das Logging f\'FCr das Host- und Zielsystem })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHP \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
{\b {\b log.h} ({\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Ein Werkzeug zur Protokollierung })} \tab {\field\fldedit {\*\fldinst PAGEREF AAAAAAAAHX \\*MERGEFORMAT}{\fldrslt pagenum}}
\par
\par}\sect \sbkpage \pgndec \pgnrestart
\sect \sectd \sbknone
{\footer \s29\widctlpar\tqc\tx4320\tqr\tx8640\qr\adjustright \fs20\cgrid {\chpgn}}

\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
LCV Framework Datenstruktur-Dokumentation{\tc \v Datenstruktur-Dokumentation}
\par \pard\plain 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
lcv_picture Strukturreferenz\par \pard\plain 
{\tc\tcl2 \v lcv_picture}
{\xe \v lcv_picture}
{\bkmkstart AAAAAAAAIC}
{\bkmkend AAAAAAAAIC}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Bilderstruktur f\'FCr unsigned 8-bit Bilder. \par
}{\f2 #include <lcv-structs.h>}\par
\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Datenfelder\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned char * {\b data}\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned int {\b length}\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned short {\b width}\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned short {\b height}\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
{\b image_type} {\b type}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Ausf\'FChrliche Beschreibung\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Bilderstruktur f\'FCr unsigned 8-bit Bilder. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid {\i data} Bilddaten, bzw. Pixelinformationen \par
{\i length} Anzahl der Pixel im data-Array \par
{\i width} Breite des Bildes (x-Achse) \par
{\i height} H\'F6he des Bildes (y-Achse) \par
{\i type} Bildtyp, entweder BGR oder GRAYSCALE \par
}
}{
Definiert in Zeile 46 der Datei lcv-structs.h.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentation der Datenelemente\par
\pard\plain 
{\xe \v data\:lcv_picture}
{\xe \v lcv_picture\:data}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned char* {\b lcv_picture::data}}
}\par
{\bkmkstart AAAAAAAAIF}
{\bkmkend AAAAAAAAIF}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 47 der Datei lcv-structs.h.}\par
{
Wird benutzt von lcv_avg_value(), lcv_capture_frame(), lcv_clone_picture(), lcv_free_picture(), lcv_gray2rgb(), lcv_invert(), lcv_read_bmp(), lcv_reverse(), lcv_rgb2gray() und lcv_write_bmp().}\par
}
{\xe \v length\:lcv_picture}
{\xe \v lcv_picture\:length}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned int {\b lcv_picture::length}}
}\par
{\bkmkstart AAAAAAAAIG}
{\bkmkend AAAAAAAAIG}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 48 der Datei lcv-structs.h.}\par
{
Wird benutzt von lcv_avg_value(), lcv_capture_frame(), lcv_clone_picture(), lcv_gray2rgb(), lcv_invert(), lcv_read_bmp(), lcv_reverse(), lcv_rgb2gray() und lcv_write_bmp().}\par
}
{\xe \v width\:lcv_picture}
{\xe \v lcv_picture\:width}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned short {\b lcv_picture::width}}
}\par
{\bkmkstart AAAAAAAAIH}
{\bkmkend AAAAAAAAIH}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 49 der Datei lcv-structs.h.}\par
{
Wird benutzt von lcv_capture_frame(), lcv_capture_region(), lcv_clone_picture(), lcv_gray2rgb(), lcv_invert(), lcv_read_bmp(), lcv_reverse(), lcv_rgb2gray() und lcv_write_bmp().}\par
}
{\xe \v height\:lcv_picture}
{\xe \v lcv_picture\:height}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned short {\b lcv_picture::height}}
}\par
{\bkmkstart AAAAAAAAII}
{\bkmkend AAAAAAAAII}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 50 der Datei lcv-structs.h.}\par
{
Wird benutzt von lcv_capture_frame(), lcv_capture_region(), lcv_clone_picture(), lcv_gray2rgb(), lcv_invert(), lcv_read_bmp(), lcv_reverse(), lcv_rgb2gray() und lcv_write_bmp().}\par
}
{\xe \v type\:lcv_picture}
{\xe \v lcv_picture\:type}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
{\b image_type} {\b lcv_picture::type}}
}\par
{\bkmkstart AAAAAAAAIJ}
{\bkmkend AAAAAAAAIJ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 51 der Datei lcv-structs.h.}\par
{
Wird benutzt von lcv_capture_frame(), lcv_clone_picture(), lcv_gray2rgb(), lcv_invert(), lcv_read_bmp(), lcv_reverse(), lcv_rgb2gray() und lcv_write_bmp().}\par
}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
Die Dokumentation f\'FCr diese Struktur wurde erzeugt aufgrund der Datei:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid 
{\b lcv-structs.h}\par
}}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
lcv_pixel_bgr Strukturreferenz\par \pard\plain 
{\tc\tcl2 \v lcv_pixel_bgr}
{\xe \v lcv_pixel_bgr}
{\bkmkstart AAAAAAAAID}
{\bkmkend AAAAAAAAID}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Pixelstruktur f\'FCr BGR Pixel. \par
}{\f2 #include <lcv-structs.h>}\par
\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Datenfelder\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned char {\b B}\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned char {\b G}\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned char {\b R}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Ausf\'FChrliche Beschreibung\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Pixelstruktur f\'FCr BGR Pixel. \par
}{
Definiert in Zeile 57 der Datei lcv-structs.h.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentation der Datenelemente\par
\pard\plain 
{\xe \v B\:lcv_pixel_bgr}
{\xe \v lcv_pixel_bgr\:B}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned char {\b lcv_pixel_bgr::B}}
}\par
{\bkmkstart AAAAAAAAIK}
{\bkmkend AAAAAAAAIK}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 58 der Datei lcv-structs.h.}\par
}
{\xe \v G\:lcv_pixel_bgr}
{\xe \v lcv_pixel_bgr\:G}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned char {\b lcv_pixel_bgr::G}}
}\par
{\bkmkstart AAAAAAAAIL}
{\bkmkend AAAAAAAAIL}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 59 der Datei lcv-structs.h.}\par
}
{\xe \v R\:lcv_pixel_bgr}
{\xe \v lcv_pixel_bgr\:R}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned char {\b lcv_pixel_bgr::R}}
}\par
{\bkmkstart AAAAAAAAIM}
{\bkmkend AAAAAAAAIM}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 60 der Datei lcv-structs.h.}\par
}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
Die Dokumentation f\'FCr diese Struktur wurde erzeugt aufgrund der Datei:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid 
{\b lcv-structs.h}\par
}}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
lcv_reg_config Strukturreferenz\par \pard\plain 
{\tc\tcl2 \v lcv_reg_config}
{\xe \v lcv_reg_config}
{\bkmkstart AAAAAAAAIE}
{\bkmkend AAAAAAAAIE}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Konfigurationsstruktur f\'FCr LCV-Register. \par
}{\f2 #include <lcv-structs.h>}\par
\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Datenfelder\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned char {\b addr}\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned short {\b min_val}\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned short {\b max_val}\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned short {\b default_val}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Ausf\'FChrliche Beschreibung\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Konfigurationsstruktur f\'FCr LCV-Register. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid {\i addr} Registeradresse \par
{\i min_val} Minimalwert \par
{\i max_val} Maximalwert \par
{\i default_val} Standardwert \par
}
}{
Definiert in Zeile 19 der Datei lcv-structs.h.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentation der Datenelemente\par
\pard\plain 
{\xe \v addr\:lcv_reg_config}
{\xe \v lcv_reg_config\:addr}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned char {\b lcv_reg_config::addr}}
}\par
{\bkmkstart AAAAAAAAIN}
{\bkmkend AAAAAAAAIN}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 20 der Datei lcv-structs.h.}\par
{
Wird benutzt von lcv_config_read() und lcv_config_write().}\par
}
{\xe \v min_val\:lcv_reg_config}
{\xe \v lcv_reg_config\:min_val}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned short {\b lcv_reg_config::min_val}}
}\par
{\bkmkstart AAAAAAAAIO}
{\bkmkend AAAAAAAAIO}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 21 der Datei lcv-structs.h.}\par
{
Wird benutzt von lcv_capture_region() und lcv_config_write().}\par
}
{\xe \v max_val\:lcv_reg_config}
{\xe \v lcv_reg_config\:max_val}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned short {\b lcv_reg_config::max_val}}
}\par
{\bkmkstart AAAAAAAAIP}
{\bkmkend AAAAAAAAIP}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 22 der Datei lcv-structs.h.}\par
{
Wird benutzt von lcv_capture_region() und lcv_config_write().}\par
}
{\xe \v default_val\:lcv_reg_config}
{\xe \v lcv_reg_config\:default_val}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned short {\b lcv_reg_config::default_val}}
}\par
{\bkmkstart AAAAAAAAIQ}
{\bkmkend AAAAAAAAIQ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 23 der Datei lcv-structs.h.}\par
{
Wird benutzt von lcv_cam_reg_init() und lcv_cam_registers_buffer_init().}\par
}
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
Die Dokumentation f\'FCr diese Struktur wurde erzeugt aufgrund der Datei:{\par
\pard\plain \s81\fi-360\li720\widctlpar\jclisttab\tx720{\*\pn \pnlvlbody\ilvl0\ls2\pnrnot0\pndec }\ls2\adjustright \fs20\cgrid 
{\b lcv-structs.h}\par
}}

\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
LCV Framework Datei-Dokumentation{\tc \v Datei-Dokumentation}
\par \pard\plain 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
bmp-header.h-Dateireferenz\par \pard\plain 
{\tc\tcl2 \v bmp-header.h}
{\xe \v bmp-header.h}
{\bkmkstart AAAAAAAAAA}
{\bkmkend AAAAAAAAAA}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Enth\'E4lt den Header eines Bitmaps. \par
}{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include "lcv-config.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Makrodefinitionen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b BPP_BGR}\~ 24\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
BMP Header Informationen. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b BMP_HEADER_LENGTH}\~ 54\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Variablen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
static unsigned char {\b bmphead_bgr} []\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definition eines 24 Bit BMP Headers mit den Farbinformationen in je einem Byte f\'FCr Blau-, Gr\'FCn- und Rot-Kanal (in dieser Reihenfolge). \par
}}}
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Ausf\'FChrliche Beschreibung\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Enth\'E4lt den Header eines Bitmaps. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Autor:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Daniel Kummer, Sebastian Kummer \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Datum:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Donnerstag, Dezember 12, 2007 \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Version:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid 1.0 \par
}}{
Definiert in Datei {\b bmp-header.h}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Makro-Dokumentation\par
\pard\plain 
{\xe \v BMP_HEADER_LENGTH\:bmp-header.h}
{\xe \v bmp-header.h\:BMP_HEADER_LENGTH}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define BMP_HEADER_LENGTH\~ 54}
}\par
{\bkmkstart AAAAAAAAAB}
{\bkmkend AAAAAAAAAB}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 17 der Datei bmp-header.h.}\par
{
Wird benutzt von lcv_read_bmp() und lcv_write_bmp().}\par
}
{\xe \v BPP_BGR\:bmp-header.h}
{\xe \v bmp-header.h\:BPP_BGR}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define BPP_BGR\~ 24}
}\par
{\bkmkstart AAAAAAAAAC}
{\bkmkend AAAAAAAAAC}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
BMP Header Informationen. \par
}\par
{
Definiert in Zeile 16 der Datei bmp-header.h.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Variablen-Dokumentation\par
\pard\plain 
{\xe \v bmphead_bgr\:bmp-header.h}
{\xe \v bmp-header.h\:bmphead_bgr}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned char {\b bmphead_bgr}[]{\f2  [static]}}
}\par
{\bkmkstart AAAAAAAAAD}
{\bkmkend AAAAAAAAAD}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\b Initialisierung:}{
\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid  \{\par
        0x42, 0x4d, 0x36, 0x04, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00,\par
        0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\par
        0x00, 0x00, 0x01, 0x00, BPP_BGR, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\par
        0x14, 0x00, 0xc4, 0x0e, 0x00, 0x00, 0xc4, 0x0e, 0x00, 0x00, 0x00, 0x00,\par
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00\}\par
}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definition eines 24 Bit BMP Headers mit den Farbinformationen in je einem Byte f\'FCr Blau-, Gr\'FCn- und Rot-Kanal (in dieser Reihenfolge). \par
}\par
{
Definiert in Zeile 26 der Datei bmp-header.h.}\par
{
Wird benutzt von lcv_capture_frame() und lcv_write_bmp().}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
bmp.c-Dateireferenz\par \pard\plain 
{\tc\tcl2 \v bmp.c}
{\xe \v bmp.c}
{\bkmkstart AAAAAAAAAE}
{\bkmkend AAAAAAAAAE}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Implementation der Bitmap Funktionen. \par
}{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include <stdio.h>}\par
{\f2 #include <stdlib.h>}\par
{\f2 #include <fcntl.h>}\par
{\f2 #include <string.h>}\par
{\f2 #include <strings.h>}\par
{\f2 #include "lcv-config.h"}\par
{\f2 #include "dip.h"}\par
{\f2 #include "bmp.h"}\par
{\f2 #include "bmp-header.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funktionen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
int {\b get_a_4byte_value} (unsigned char *header, int offset)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Holt einen 4-Byte Wert aus einem Header. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b set_a_4byte_value} (unsigned char *header, int offset, int value)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Setzt einen 4-Byte Wert in einem Header. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
char {\b lcv_write_bmp} (const {\b lcv_picture} pic, const char *filename)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Speichert ein {\b lcv_picture} Strukt im BMP-Format ab. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
{\b lcv_picture} {\b lcv_read_bmp} (const char *filename)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest ein Bitmap vom Dateisystem ein und wandelt es in ein {\b lcv_picture} um. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
int {\b lcv_get_data_offset} (unsigned char *header)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest den Offset der Bilderdaten aus einem BMP-Header. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_set_data_offset} (unsigned char *header, int offset)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt den Bilddaten-Offset Wert in einen BMP-Header. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
int {\b lcv_get_height} (unsigned char *header)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest die Bildh\'F6he aus einem BMP-Header. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_set_height} (unsigned char *header, int height)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt die Bildh\'F6he in einen BMP-Header. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
int {\b lcv_get_width} (unsigned char *header)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest die Bildbreite aus einem BMP-Header. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_set_width} (unsigned char *header, int width)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt die Bildbreite in einen BMP-Header. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
int {\b lcv_get_colordepth} (unsigned char *header)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest die Farbtiefe aus einem BMP-Header. \par
}}}
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Ausf\'FChrliche Beschreibung\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Implementation der Bitmap Funktionen. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Autor:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Daniel Kummer, Sebastian Kummer \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Datum:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Donnerstag, Dezember 12, 2007 \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Version:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid 1.0 \par
}}{
Definiert in Datei {\b bmp.c}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentation der Funktionen\par
\pard\plain 
{\xe \v get_a_4byte_value\:bmp.c}
{\xe \v bmp.c\:get_a_4byte_value}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
int get_a_4byte_value (unsigned char * {\i header}, int {\i offset})}
}\par
{\bkmkstart AAAAAAAAAF}
{\bkmkend AAAAAAAAAF}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Holt einen 4-Byte Wert aus einem Header. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Diese Methode wird nur in {\b bmp.c} verwendet. {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i header} Header \par
{\i offset} Offset \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Wert \par
}}{
Definiert in Zeile 195 der Datei bmp.c.}\par
{
Wird benutzt von lcv_get_data_offset(), lcv_get_height() und lcv_get_width().}\par
}
{\xe \v lcv_get_colordepth\:bmp.c}
{\xe \v bmp.c\:lcv_get_colordepth}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
int lcv_get_colordepth (unsigned char * {\i header})}
}\par
{\bkmkstart AAAAAAAAAG}
{\bkmkend AAAAAAAAAG}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest die Farbtiefe aus einem BMP-Header. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i header} BMP-Header \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Farbtiefe \par
}}{
Definiert in Zeile 184 der Datei bmp.c.}\par
{
Wird benutzt von lcv_read_bmp().}\par
}
{\xe \v lcv_get_data_offset\:bmp.c}
{\xe \v bmp.c\:lcv_get_data_offset}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
int lcv_get_data_offset (unsigned char * {\i header})}
}\par
{\bkmkstart AAAAAAAAAH}
{\bkmkend AAAAAAAAAH}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest den Offset der Bilderdaten aus einem BMP-Header. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i header} BMP-Header \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Offset der Daten \par
}}{
Definiert in Zeile 154 der Datei bmp.c.}\par
{
Wird benutzt von lcv_read_bmp().}\par
}
{\xe \v lcv_get_height\:bmp.c}
{\xe \v bmp.c\:lcv_get_height}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
int lcv_get_height (unsigned char * {\i header})}
}\par
{\bkmkstart AAAAAAAAAI}
{\bkmkend AAAAAAAAAI}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest die Bildh\'F6he aus einem BMP-Header. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i header} BMP-Header \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid H\'F6he des Bildes \par
}}{
Definiert in Zeile 164 der Datei bmp.c.}\par
{
Wird benutzt von lcv_read_bmp().}\par
}
{\xe \v lcv_get_width\:bmp.c}
{\xe \v bmp.c\:lcv_get_width}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
int lcv_get_width (unsigned char * {\i header})}
}\par
{\bkmkstart AAAAAAAAAJ}
{\bkmkend AAAAAAAAAJ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest die Bildbreite aus einem BMP-Header. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i header} BMP-Header \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Breite des Bildes \par
}}{
Definiert in Zeile 174 der Datei bmp.c.}\par
{
Wird benutzt von lcv_read_bmp().}\par
}
{\xe \v lcv_read_bmp\:bmp.c}
{\xe \v bmp.c\:lcv_read_bmp}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
{\b lcv_picture} lcv_read_bmp (const char * {\i filename})}
}\par
{\bkmkstart AAAAAAAAAK}
{\bkmkend AAAAAAAAAK}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest ein Bitmap vom Dateisystem ein und wandelt es in ein {\b lcv_picture} um. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Das Bitmap muss eine Farbtiefe von 24-bit aufweisen und "bottom-up" abgelegt sein {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i filename} Dateiname, bzw. Pfad \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Bild in Struktur \par
}}{
Definiert in Zeile 75 der Datei bmp.c.}\par
{
Wird benutzt von lcv_capture_frame() und lcv_capture_region().}\par
}
{\xe \v lcv_set_data_offset\:bmp.c}
{\xe \v bmp.c\:lcv_set_data_offset}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_set_data_offset (unsigned char * {\i header}, int {\i offset})}
}\par
{\bkmkstart AAAAAAAAAL}
{\bkmkend AAAAAAAAAL}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt den Bilddaten-Offset Wert in einen BMP-Header. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i header} BMP-Header \par
{\i offset} Offset der Daten \par
}
}{
Definiert in Zeile 159 der Datei bmp.c.}\par
}
{\xe \v lcv_set_height\:bmp.c}
{\xe \v bmp.c\:lcv_set_height}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_set_height (unsigned char * {\i header}, int {\i height})}
}\par
{\bkmkstart AAAAAAAAAM}
{\bkmkend AAAAAAAAAM}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt die Bildh\'F6he in einen BMP-Header. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i header} BMP-Header \par
{\i height} H\'F6he des Bildes \par
}
}{
Definiert in Zeile 169 der Datei bmp.c.}\par
{
Wird benutzt von lcv_write_bmp().}\par
}
{\xe \v lcv_set_width\:bmp.c}
{\xe \v bmp.c\:lcv_set_width}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_set_width (unsigned char * {\i header}, int {\i width})}
}\par
{\bkmkstart AAAAAAAAAN}
{\bkmkend AAAAAAAAAN}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt die Bildbreite in einen BMP-Header. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i header} BMP-Header \par
{\i height} Breite des Bildes \par
}
}{
Definiert in Zeile 179 der Datei bmp.c.}\par
{
Wird benutzt von lcv_write_bmp().}\par
}
{\xe \v lcv_write_bmp\:bmp.c}
{\xe \v bmp.c\:lcv_write_bmp}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
char lcv_write_bmp (const {\b lcv_picture} {\i pic}, const char * {\i filename})}
}\par
{\bkmkstart AAAAAAAAAO}
{\bkmkend AAAAAAAAAO}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Speichert ein {\b lcv_picture} Strukt im BMP-Format ab. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i pic} Das zu speichernde Bild \par
{\i filename} Dateiname, bzw. Pfad \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Erfolgsmeldung (positiv) oder Fehlernummer (negativ) \par
}}{
Definiert in Zeile 37 der Datei bmp.c.}\par
}
{\xe \v set_a_4byte_value\:bmp.c}
{\xe \v bmp.c\:set_a_4byte_value}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void set_a_4byte_value (unsigned char * {\i header}, int {\i offset}, int {\i value})}
}\par
{\bkmkstart AAAAAAAAAP}
{\bkmkend AAAAAAAAAP}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Setzt einen 4-Byte Wert in einem Header. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Diese Methode wird nur in {\b bmp.c} verwendet. {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i header} Header \par
{\i offset} Offset \par
{\i value} Wert \par
}
}{
Definiert in Zeile 210 der Datei bmp.c.}\par
{
Wird benutzt von lcv_set_data_offset(), lcv_set_height() und lcv_set_width().}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
bmp.h-Dateireferenz\par \pard\plain 
{\tc\tcl2 \v bmp.h}
{\xe \v bmp.h}
{\bkmkstart AAAAAAAAAQ}
{\bkmkend AAAAAAAAAQ}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Funktionen zum Schreiben und Lesen einer BMP Datei. \par
}{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include "lcv-config.h"}\par
{\f2 #include "lcv-structs.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funktionen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
char {\b lcv_write_bmp} (const {\b lcv_picture} pic, const char *filename)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Speichert ein {\b lcv_picture} Strukt im BMP-Format ab. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
{\b lcv_picture} {\b lcv_read_bmp} (const char *filename)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest ein Bitmap vom Dateisystem ein und wandelt es in ein {\b lcv_picture} um. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
int {\b lcv_get_data_offset} (unsigned char *header)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest den Offset der Bilderdaten aus einem BMP-Header. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_set_data_offset} (unsigned char *header, int offset)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt den Bilddaten-Offset Wert in einen BMP-Header. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
int {\b lcv_get_height} (unsigned char *header)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest die Bildh\'F6he aus einem BMP-Header. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_set_height} (unsigned char *header, int height)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt die Bildh\'F6he in einen BMP-Header. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
int {\b lcv_get_width} (unsigned char *header)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest die Bildbreite aus einem BMP-Header. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_set_width} (unsigned char *header, int width)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt die Bildbreite in einen BMP-Header. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
int {\b lcv_get_colordepth} (unsigned char *header)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest die Farbtiefe aus einem BMP-Header. \par
}}}
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Ausf\'FChrliche Beschreibung\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Funktionen zum Schreiben und Lesen einer BMP Datei. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Autor:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Daniel Kummer, Sebastian Kummer \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Datum:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Donnerstag, Dezember 12, 2007 \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Version:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid 1.0 \par
}}{
Definiert in Datei {\b bmp.h}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentation der Funktionen\par
\pard\plain 
{\xe \v lcv_get_colordepth\:bmp.h}
{\xe \v bmp.h\:lcv_get_colordepth}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
int lcv_get_colordepth (unsigned char * {\i header})}
}\par
{\bkmkstart AAAAAAAAAR}
{\bkmkend AAAAAAAAAR}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest die Farbtiefe aus einem BMP-Header. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i header} BMP-Header \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Farbtiefe \par
}}{
Definiert in Zeile 184 der Datei bmp.c.}\par
}
{\xe \v lcv_get_data_offset\:bmp.h}
{\xe \v bmp.h\:lcv_get_data_offset}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
int lcv_get_data_offset (unsigned char * {\i header})}
}\par
{\bkmkstart AAAAAAAAAS}
{\bkmkend AAAAAAAAAS}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest den Offset der Bilderdaten aus einem BMP-Header. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i header} BMP-Header \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Offset der Daten \par
}}{
Definiert in Zeile 154 der Datei bmp.c.}\par
{
Benutzt get_a_4byte_value().}\par
}
{\xe \v lcv_get_height\:bmp.h}
{\xe \v bmp.h\:lcv_get_height}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
int lcv_get_height (unsigned char * {\i header})}
}\par
{\bkmkstart AAAAAAAAAT}
{\bkmkend AAAAAAAAAT}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest die Bildh\'F6he aus einem BMP-Header. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i header} BMP-Header \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid H\'F6he des Bildes \par
}}{
Definiert in Zeile 164 der Datei bmp.c.}\par
{
Benutzt get_a_4byte_value().}\par
}
{\xe \v lcv_get_width\:bmp.h}
{\xe \v bmp.h\:lcv_get_width}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
int lcv_get_width (unsigned char * {\i header})}
}\par
{\bkmkstart AAAAAAAAAU}
{\bkmkend AAAAAAAAAU}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest die Bildbreite aus einem BMP-Header. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i header} BMP-Header \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Breite des Bildes \par
}}{
Definiert in Zeile 174 der Datei bmp.c.}\par
{
Benutzt get_a_4byte_value().}\par
}
{\xe \v lcv_read_bmp\:bmp.h}
{\xe \v bmp.h\:lcv_read_bmp}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
{\b lcv_picture} lcv_read_bmp (const char * {\i filename})}
}\par
{\bkmkstart AAAAAAAAAV}
{\bkmkend AAAAAAAAAV}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest ein Bitmap vom Dateisystem ein und wandelt es in ein {\b lcv_picture} um. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Das Bitmap muss eine Farbtiefe von 24-bit aufweisen und "bottom-up" abgelegt sein {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i filename} Dateiname, bzw. Pfad \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Bild in Struktur \par
}}{
Definiert in Zeile 75 der Datei bmp.c.}\par
{
Benutzt BMP_HEADER_LENGTH, lcv_picture::data, FALSE, lcv_picture::height, IMG_BGR, lcv_get_colordepth(), lcv_get_data_offset(), lcv_get_height(), lcv_get_width(), lcv_picture::length, TRUE, lcv_picture::type und lcv_picture::width.}\par
}
{\xe \v lcv_set_data_offset\:bmp.h}
{\xe \v bmp.h\:lcv_set_data_offset}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_set_data_offset (unsigned char * {\i header}, int {\i offset})}
}\par
{\bkmkstart AAAAAAAAAW}
{\bkmkend AAAAAAAAAW}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt den Bilddaten-Offset Wert in einen BMP-Header. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i header} BMP-Header \par
{\i offset} Offset der Daten \par
}
}{
Definiert in Zeile 159 der Datei bmp.c.}\par
{
Benutzt set_a_4byte_value().}\par
}
{\xe \v lcv_set_height\:bmp.h}
{\xe \v bmp.h\:lcv_set_height}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_set_height (unsigned char * {\i header}, int {\i height})}
}\par
{\bkmkstart AAAAAAAAAX}
{\bkmkend AAAAAAAAAX}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt die Bildh\'F6he in einen BMP-Header. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i header} BMP-Header \par
{\i height} H\'F6he des Bildes \par
}
}{
Definiert in Zeile 169 der Datei bmp.c.}\par
{
Benutzt set_a_4byte_value().}\par
}
{\xe \v lcv_set_width\:bmp.h}
{\xe \v bmp.h\:lcv_set_width}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_set_width (unsigned char * {\i header}, int {\i width})}
}\par
{\bkmkstart AAAAAAAAAY}
{\bkmkend AAAAAAAAAY}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt die Bildbreite in einen BMP-Header. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i header} BMP-Header \par
{\i height} Breite des Bildes \par
}
}{
Definiert in Zeile 179 der Datei bmp.c.}\par
{
Benutzt set_a_4byte_value().}\par
}
{\xe \v lcv_write_bmp\:bmp.h}
{\xe \v bmp.h\:lcv_write_bmp}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
char lcv_write_bmp (const {\b lcv_picture} {\i pic}, const char * {\i filename})}
}\par
{\bkmkstart AAAAAAAAAZ}
{\bkmkend AAAAAAAAAZ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Speichert ein {\b lcv_picture} Strukt im BMP-Format ab. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i pic} Das zu speichernde Bild \par
{\i filename} Dateiname, bzw. Pfad \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Erfolgsmeldung (positiv) oder Fehlernummer (negativ) \par
}}{
Definiert in Zeile 37 der Datei bmp.c.}\par
{
Benutzt BMP_HEADER_LENGTH, bmphead_bgr, lcv_picture::data, lcv_picture::height, IMG_BGR, lcv_clone_picture(), lcv_gray2rgb(), lcv_set_height(), lcv_set_width(), lcv_picture::length, TRUE, lcv_picture::type und lcv_picture::width.}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
cam-config.h-Dateireferenz\par \pard\plain 
{\tc\tcl2 \v cam-config.h}
{\xe \v cam-config.h}
{\bkmkstart AAAAAAAABA}
{\bkmkend AAAAAAAABA}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Enth\'E4lt die Konfiguration der Kamera. \par
}\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Makrodefinitionen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b MAX_WIDTH}\~ 752\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b MAX_HEIGHT}\~ 480\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b CAM_DEVICE}\~ "/dev/video0"\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b CAM_I2C_DEVICE}\~ "/dev/i2c-0"\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b CAM_DEV_ID}\~ (0xb8>>1)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_CHIP_VERSION}\~ 0\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_COLUMN_START}\~ 1\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_ROW_START}\~ 2\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_WINDOW_HEIGHT}\~ 3\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_WINDOW_WIDTH}\~ 4\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_HORIZONAL_BLANKING}\~ 5\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_VERTICAL_BLANKING}\~ 6\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_CHIP_CONTROL}\~ 7\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_SHUTTER_WIDTH_1}\~ 8\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_SHUTTER_WIDTH_2}\~ 9\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_SHUTTER_WIDTH_CTRL}\~ 10\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_TOTAL_SHUTTER_WITH}\~ 11\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_RESET}\~ 12\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_READ_MODE}\~ 13\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_MONITOR_MODE}\~ 14\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_PIXEL_OPERATION_MODE}\~ 15\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_LED_OUT_CTRL}\~ 16\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_ADC_MODE_CONTROL}\~ 17\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_VREF_ADC_CONTROL}\~ 18\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_V1}\~ 19\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_V2}\~ 20\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_V3}\~ 21\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_V4}\~ 22\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_ANALOG_GAIN}\~ 23\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_MAX_ANALOG_GAIN}\~ 24\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_FRAME_DARK_AVERAGE}\~ 25\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_DARK_AVG_THRESHOLDS}\~ 26\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_BL_CALIB_CONTROL}\~ 27\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_BL_CALIBRATION_VALUE}\~ 28\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_BL_CALIB_STEP_SIZE}\~ 29\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_ROW_NOISE_CORR_CTRL_1}\~ 30\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_ROW_NOISE_CONSTANT}\~ 31\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_ROW_NOISE_CORR_CTRL_2}\~ 32\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_PIXCLK_FV_LV}\~ 33\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_DIGITAL_TEST_PATTERN}\~ 34\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_AEC_AGC_DESIRED_BIN}\~ 35\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_AEC_UPDATE_FREQUENCY}\~ 36\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_AEC_LPF}\~ 37\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_AGC_UPDATE_FREQUENCY}\~ 38\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_AGC_LPF}\~ 39\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_AEC_AGC_ENABLE}\~ 40\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_AEC_AGC_PIX_COUNT}\~ 41\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_DATA_STREAM_LATENCY}\~ 42\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_AGC_GAIN_OUTPUT}\~ 43\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_AEC_GAIN_OUTPUT}\~ 44\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_AGC_AEC_CURRENT_BIN}\~ 45\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_MAXIMUM_SHUTTER_WIDTH}\~ 46\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_AGC_AEC_BIN_DIFFERENCE_THRESHOLD}\~ 47\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_FIELD_BLANK}\~ 48\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_MON_MODE_CAPTURE_CTRL}\~ 49\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_TEMPERATURE}\~ 50\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_ANALOG_CONTROLS}\~ 51\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_NTSC_FV_LV_CTRL}\~ 52\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_NTSC_HORIZ_BLANK_CTRL}\~ 53\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_NTSC_VERT_BLANK_CTRL}\~ 54\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_BYTEWIESE_ADDR}\~ 55\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b REG_REGISTER_LOCK}\~ 56\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Ausf\'FChrliche Beschreibung\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Enth\'E4lt die Konfiguration der Kamera. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Autor:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Daniel Kummer, Sebastian Kummer \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Datum:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Donnerstag, Dezember 12, 2007 \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Version:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid 1.0 \par
}}{
Definiert in Datei {\b cam-config.h}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Makro-Dokumentation\par
\pard\plain 
{\xe \v CAM_DEV_ID\:cam-config.h}
{\xe \v cam-config.h\:CAM_DEV_ID}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define CAM_DEV_ID\~ (0xb8>>1)}
}\par
{\bkmkstart AAAAAAAABB}
{\bkmkend AAAAAAAABB}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 24 der Datei cam-config.h.}\par
{
Wird benutzt von lcv_config_read() und lcv_config_write().}\par
}
{\xe \v CAM_DEVICE\:cam-config.h}
{\xe \v cam-config.h\:CAM_DEVICE}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define CAM_DEVICE\~ "/dev/video0"}
}\par
{\bkmkstart AAAAAAAABC}
{\bkmkend AAAAAAAABC}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 18 der Datei cam-config.h.}\par
{
Wird benutzt von lcv_capture_frame().}\par
}
{\xe \v CAM_I2C_DEVICE\:cam-config.h}
{\xe \v cam-config.h\:CAM_I2C_DEVICE}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define CAM_I2C_DEVICE\~ "/dev/i2c-0"}
}\par
{\bkmkstart AAAAAAAABD}
{\bkmkend AAAAAAAABD}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 23 der Datei cam-config.h.}\par
{
Wird benutzt von lcv_config_read() und lcv_config_write().}\par
}
{\xe \v MAX_HEIGHT\:cam-config.h}
{\xe \v cam-config.h\:MAX_HEIGHT}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define MAX_HEIGHT\~ 480}
}\par
{\bkmkstart AAAAAAAABE}
{\bkmkend AAAAAAAABE}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 17 der Datei cam-config.h.}\par
}
{\xe \v MAX_WIDTH\:cam-config.h}
{\xe \v cam-config.h\:MAX_WIDTH}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define MAX_WIDTH\~ 752}
}\par
{\bkmkstart AAAAAAAABF}
{\bkmkend AAAAAAAABF}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 16 der Datei cam-config.h.}\par
}
{\xe \v REG_ADC_MODE_CONTROL\:cam-config.h}
{\xe \v cam-config.h\:REG_ADC_MODE_CONTROL}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_ADC_MODE_CONTROL\~ 17}
}\par
{\bkmkstart AAAAAAAABG}
{\bkmkend AAAAAAAABG}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 46 der Datei cam-config.h.}\par
}
{\xe \v REG_AEC_AGC_DESIRED_BIN\:cam-config.h}
{\xe \v cam-config.h\:REG_AEC_AGC_DESIRED_BIN}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_AEC_AGC_DESIRED_BIN\~ 35}
}\par
{\bkmkstart AAAAAAAABH}
{\bkmkend AAAAAAAABH}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 64 der Datei cam-config.h.}\par
}
{\xe \v REG_AEC_AGC_ENABLE\:cam-config.h}
{\xe \v cam-config.h\:REG_AEC_AGC_ENABLE}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_AEC_AGC_ENABLE\~ 40}
}\par
{\bkmkstart AAAAAAAABI}
{\bkmkend AAAAAAAABI}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 69 der Datei cam-config.h.}\par
}
{\xe \v REG_AEC_AGC_PIX_COUNT\:cam-config.h}
{\xe \v cam-config.h\:REG_AEC_AGC_PIX_COUNT}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_AEC_AGC_PIX_COUNT\~ 41}
}\par
{\bkmkstart AAAAAAAABJ}
{\bkmkend AAAAAAAABJ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 70 der Datei cam-config.h.}\par
}
{\xe \v REG_AEC_GAIN_OUTPUT\:cam-config.h}
{\xe \v cam-config.h\:REG_AEC_GAIN_OUTPUT}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_AEC_GAIN_OUTPUT\~ 44}
}\par
{\bkmkstart AAAAAAAABK}
{\bkmkend AAAAAAAABK}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 73 der Datei cam-config.h.}\par
}
{\xe \v REG_AEC_LPF\:cam-config.h}
{\xe \v cam-config.h\:REG_AEC_LPF}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_AEC_LPF\~ 37}
}\par
{\bkmkstart AAAAAAAABL}
{\bkmkend AAAAAAAABL}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 66 der Datei cam-config.h.}\par
}
{\xe \v REG_AEC_UPDATE_FREQUENCY\:cam-config.h}
{\xe \v cam-config.h\:REG_AEC_UPDATE_FREQUENCY}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_AEC_UPDATE_FREQUENCY\~ 36}
}\par
{\bkmkstart AAAAAAAABM}
{\bkmkend AAAAAAAABM}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 65 der Datei cam-config.h.}\par
}
{\xe \v REG_AGC_AEC_BIN_DIFFERENCE_THRESHOLD\:cam-config.h}
{\xe \v cam-config.h\:REG_AGC_AEC_BIN_DIFFERENCE_THRESHOLD}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_AGC_AEC_BIN_DIFFERENCE_THRESHOLD\~ 47}
}\par
{\bkmkstart AAAAAAAABN}
{\bkmkend AAAAAAAABN}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 76 der Datei cam-config.h.}\par
}
{\xe \v REG_AGC_AEC_CURRENT_BIN\:cam-config.h}
{\xe \v cam-config.h\:REG_AGC_AEC_CURRENT_BIN}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_AGC_AEC_CURRENT_BIN\~ 45}
}\par
{\bkmkstart AAAAAAAABO}
{\bkmkend AAAAAAAABO}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 74 der Datei cam-config.h.}\par
}
{\xe \v REG_AGC_GAIN_OUTPUT\:cam-config.h}
{\xe \v cam-config.h\:REG_AGC_GAIN_OUTPUT}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_AGC_GAIN_OUTPUT\~ 43}
}\par
{\bkmkstart AAAAAAAABP}
{\bkmkend AAAAAAAABP}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 72 der Datei cam-config.h.}\par
}
{\xe \v REG_AGC_LPF\:cam-config.h}
{\xe \v cam-config.h\:REG_AGC_LPF}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_AGC_LPF\~ 39}
}\par
{\bkmkstart AAAAAAAABQ}
{\bkmkend AAAAAAAABQ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 68 der Datei cam-config.h.}\par
}
{\xe \v REG_AGC_UPDATE_FREQUENCY\:cam-config.h}
{\xe \v cam-config.h\:REG_AGC_UPDATE_FREQUENCY}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_AGC_UPDATE_FREQUENCY\~ 38}
}\par
{\bkmkstart AAAAAAAABR}
{\bkmkend AAAAAAAABR}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 67 der Datei cam-config.h.}\par
}
{\xe \v REG_ANALOG_CONTROLS\:cam-config.h}
{\xe \v cam-config.h\:REG_ANALOG_CONTROLS}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_ANALOG_CONTROLS\~ 51}
}\par
{\bkmkstart AAAAAAAABS}
{\bkmkend AAAAAAAABS}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 80 der Datei cam-config.h.}\par
}
{\xe \v REG_ANALOG_GAIN\:cam-config.h}
{\xe \v cam-config.h\:REG_ANALOG_GAIN}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_ANALOG_GAIN\~ 23}
}\par
{\bkmkstart AAAAAAAABT}
{\bkmkend AAAAAAAABT}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 52 der Datei cam-config.h.}\par
}
{\xe \v REG_BL_CALIB_CONTROL\:cam-config.h}
{\xe \v cam-config.h\:REG_BL_CALIB_CONTROL}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_BL_CALIB_CONTROL\~ 27}
}\par
{\bkmkstart AAAAAAAABU}
{\bkmkend AAAAAAAABU}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 56 der Datei cam-config.h.}\par
}
{\xe \v REG_BL_CALIB_STEP_SIZE\:cam-config.h}
{\xe \v cam-config.h\:REG_BL_CALIB_STEP_SIZE}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_BL_CALIB_STEP_SIZE\~ 29}
}\par
{\bkmkstart AAAAAAAABV}
{\bkmkend AAAAAAAABV}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 58 der Datei cam-config.h.}\par
}
{\xe \v REG_BL_CALIBRATION_VALUE\:cam-config.h}
{\xe \v cam-config.h\:REG_BL_CALIBRATION_VALUE}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_BL_CALIBRATION_VALUE\~ 28}
}\par
{\bkmkstart AAAAAAAABW}
{\bkmkend AAAAAAAABW}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 57 der Datei cam-config.h.}\par
}
{\xe \v REG_BYTEWIESE_ADDR\:cam-config.h}
{\xe \v cam-config.h\:REG_BYTEWIESE_ADDR}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_BYTEWIESE_ADDR\~ 55}
}\par
{\bkmkstart AAAAAAAABX}
{\bkmkend AAAAAAAABX}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 84 der Datei cam-config.h.}\par
}
{\xe \v REG_CHIP_CONTROL\:cam-config.h}
{\xe \v cam-config.h\:REG_CHIP_CONTROL}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_CHIP_CONTROL\~ 7}
}\par
{\bkmkstart AAAAAAAABY}
{\bkmkend AAAAAAAABY}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 36 der Datei cam-config.h.}\par
}
{\xe \v REG_CHIP_VERSION\:cam-config.h}
{\xe \v cam-config.h\:REG_CHIP_VERSION}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_CHIP_VERSION\~ 0}
}\par
{\bkmkstart AAAAAAAABZ}
{\bkmkend AAAAAAAABZ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 29 der Datei cam-config.h.}\par
}
{\xe \v REG_COLUMN_START\:cam-config.h}
{\xe \v cam-config.h\:REG_COLUMN_START}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_COLUMN_START\~ 1}
}\par
{\bkmkstart AAAAAAAACA}
{\bkmkend AAAAAAAACA}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 30 der Datei cam-config.h.}\par
{
Wird benutzt von lcv_capture_region() und lcv_reset_capture_frame().}\par
}
{\xe \v REG_DARK_AVG_THRESHOLDS\:cam-config.h}
{\xe \v cam-config.h\:REG_DARK_AVG_THRESHOLDS}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_DARK_AVG_THRESHOLDS\~ 26}
}\par
{\bkmkstart AAAAAAAACB}
{\bkmkend AAAAAAAACB}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 55 der Datei cam-config.h.}\par
}
{\xe \v REG_DATA_STREAM_LATENCY\:cam-config.h}
{\xe \v cam-config.h\:REG_DATA_STREAM_LATENCY}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_DATA_STREAM_LATENCY\~ 42}
}\par
{\bkmkstart AAAAAAAACC}
{\bkmkend AAAAAAAACC}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 71 der Datei cam-config.h.}\par
}
{\xe \v REG_DIGITAL_TEST_PATTERN\:cam-config.h}
{\xe \v cam-config.h\:REG_DIGITAL_TEST_PATTERN}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_DIGITAL_TEST_PATTERN\~ 34}
}\par
{\bkmkstart AAAAAAAACD}
{\bkmkend AAAAAAAACD}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 63 der Datei cam-config.h.}\par
}
{\xe \v REG_FIELD_BLANK\:cam-config.h}
{\xe \v cam-config.h\:REG_FIELD_BLANK}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_FIELD_BLANK\~ 48}
}\par
{\bkmkstart AAAAAAAACE}
{\bkmkend AAAAAAAACE}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 77 der Datei cam-config.h.}\par
}
{\xe \v REG_FRAME_DARK_AVERAGE\:cam-config.h}
{\xe \v cam-config.h\:REG_FRAME_DARK_AVERAGE}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_FRAME_DARK_AVERAGE\~ 25}
}\par
{\bkmkstart AAAAAAAACF}
{\bkmkend AAAAAAAACF}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 54 der Datei cam-config.h.}\par
}
{\xe \v REG_HORIZONAL_BLANKING\:cam-config.h}
{\xe \v cam-config.h\:REG_HORIZONAL_BLANKING}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_HORIZONAL_BLANKING\~ 5}
}\par
{\bkmkstart AAAAAAAACG}
{\bkmkend AAAAAAAACG}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 34 der Datei cam-config.h.}\par
}
{\xe \v REG_LED_OUT_CTRL\:cam-config.h}
{\xe \v cam-config.h\:REG_LED_OUT_CTRL}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_LED_OUT_CTRL\~ 16}
}\par
{\bkmkstart AAAAAAAACH}
{\bkmkend AAAAAAAACH}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 45 der Datei cam-config.h.}\par
}
{\xe \v REG_MAX_ANALOG_GAIN\:cam-config.h}
{\xe \v cam-config.h\:REG_MAX_ANALOG_GAIN}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_MAX_ANALOG_GAIN\~ 24}
}\par
{\bkmkstart AAAAAAAACI}
{\bkmkend AAAAAAAACI}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 53 der Datei cam-config.h.}\par
}
{\xe \v REG_MAXIMUM_SHUTTER_WIDTH\:cam-config.h}
{\xe \v cam-config.h\:REG_MAXIMUM_SHUTTER_WIDTH}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_MAXIMUM_SHUTTER_WIDTH\~ 46}
}\par
{\bkmkstart AAAAAAAACJ}
{\bkmkend AAAAAAAACJ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 75 der Datei cam-config.h.}\par
}
{\xe \v REG_MON_MODE_CAPTURE_CTRL\:cam-config.h}
{\xe \v cam-config.h\:REG_MON_MODE_CAPTURE_CTRL}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_MON_MODE_CAPTURE_CTRL\~ 49}
}\par
{\bkmkstart AAAAAAAACK}
{\bkmkend AAAAAAAACK}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 78 der Datei cam-config.h.}\par
}
{\xe \v REG_MONITOR_MODE\:cam-config.h}
{\xe \v cam-config.h\:REG_MONITOR_MODE}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_MONITOR_MODE\~ 14}
}\par
{\bkmkstart AAAAAAAACL}
{\bkmkend AAAAAAAACL}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 43 der Datei cam-config.h.}\par
}
{\xe \v REG_NTSC_FV_LV_CTRL\:cam-config.h}
{\xe \v cam-config.h\:REG_NTSC_FV_LV_CTRL}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_NTSC_FV_LV_CTRL\~ 52}
}\par
{\bkmkstart AAAAAAAACM}
{\bkmkend AAAAAAAACM}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 81 der Datei cam-config.h.}\par
}
{\xe \v REG_NTSC_HORIZ_BLANK_CTRL\:cam-config.h}
{\xe \v cam-config.h\:REG_NTSC_HORIZ_BLANK_CTRL}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_NTSC_HORIZ_BLANK_CTRL\~ 53}
}\par
{\bkmkstart AAAAAAAACN}
{\bkmkend AAAAAAAACN}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 82 der Datei cam-config.h.}\par
}
{\xe \v REG_NTSC_VERT_BLANK_CTRL\:cam-config.h}
{\xe \v cam-config.h\:REG_NTSC_VERT_BLANK_CTRL}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_NTSC_VERT_BLANK_CTRL\~ 54}
}\par
{\bkmkstart AAAAAAAACO}
{\bkmkend AAAAAAAACO}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 83 der Datei cam-config.h.}\par
}
{\xe \v REG_PIXCLK_FV_LV\:cam-config.h}
{\xe \v cam-config.h\:REG_PIXCLK_FV_LV}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_PIXCLK_FV_LV\~ 33}
}\par
{\bkmkstart AAAAAAAACP}
{\bkmkend AAAAAAAACP}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 62 der Datei cam-config.h.}\par
}
{\xe \v REG_PIXEL_OPERATION_MODE\:cam-config.h}
{\xe \v cam-config.h\:REG_PIXEL_OPERATION_MODE}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_PIXEL_OPERATION_MODE\~ 15}
}\par
{\bkmkstart AAAAAAAACQ}
{\bkmkend AAAAAAAACQ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 44 der Datei cam-config.h.}\par
}
{\xe \v REG_READ_MODE\:cam-config.h}
{\xe \v cam-config.h\:REG_READ_MODE}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_READ_MODE\~ 13}
}\par
{\bkmkstart AAAAAAAACR}
{\bkmkend AAAAAAAACR}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 42 der Datei cam-config.h.}\par
}
{\xe \v REG_REGISTER_LOCK\:cam-config.h}
{\xe \v cam-config.h\:REG_REGISTER_LOCK}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_REGISTER_LOCK\~ 56}
}\par
{\bkmkstart AAAAAAAACS}
{\bkmkend AAAAAAAACS}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 85 der Datei cam-config.h.}\par
}
{\xe \v REG_RESET\:cam-config.h}
{\xe \v cam-config.h\:REG_RESET}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_RESET\~ 12}
}\par
{\bkmkstart AAAAAAAACT}
{\bkmkend AAAAAAAACT}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 41 der Datei cam-config.h.}\par
}
{\xe \v REG_ROW_NOISE_CONSTANT\:cam-config.h}
{\xe \v cam-config.h\:REG_ROW_NOISE_CONSTANT}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_ROW_NOISE_CONSTANT\~ 31}
}\par
{\bkmkstart AAAAAAAACU}
{\bkmkend AAAAAAAACU}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 60 der Datei cam-config.h.}\par
}
{\xe \v REG_ROW_NOISE_CORR_CTRL_1\:cam-config.h}
{\xe \v cam-config.h\:REG_ROW_NOISE_CORR_CTRL_1}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_ROW_NOISE_CORR_CTRL_1\~ 30}
}\par
{\bkmkstart AAAAAAAACV}
{\bkmkend AAAAAAAACV}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 59 der Datei cam-config.h.}\par
}
{\xe \v REG_ROW_NOISE_CORR_CTRL_2\:cam-config.h}
{\xe \v cam-config.h\:REG_ROW_NOISE_CORR_CTRL_2}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_ROW_NOISE_CORR_CTRL_2\~ 32}
}\par
{\bkmkstart AAAAAAAACW}
{\bkmkend AAAAAAAACW}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 61 der Datei cam-config.h.}\par
}
{\xe \v REG_ROW_START\:cam-config.h}
{\xe \v cam-config.h\:REG_ROW_START}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_ROW_START\~ 2}
}\par
{\bkmkstart AAAAAAAACX}
{\bkmkend AAAAAAAACX}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 31 der Datei cam-config.h.}\par
{
Wird benutzt von lcv_capture_region() und lcv_reset_capture_frame().}\par
}
{\xe \v REG_SHUTTER_WIDTH_1\:cam-config.h}
{\xe \v cam-config.h\:REG_SHUTTER_WIDTH_1}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_SHUTTER_WIDTH_1\~ 8}
}\par
{\bkmkstart AAAAAAAACY}
{\bkmkend AAAAAAAACY}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 37 der Datei cam-config.h.}\par
}
{\xe \v REG_SHUTTER_WIDTH_2\:cam-config.h}
{\xe \v cam-config.h\:REG_SHUTTER_WIDTH_2}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_SHUTTER_WIDTH_2\~ 9}
}\par
{\bkmkstart AAAAAAAACZ}
{\bkmkend AAAAAAAACZ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 38 der Datei cam-config.h.}\par
}
{\xe \v REG_SHUTTER_WIDTH_CTRL\:cam-config.h}
{\xe \v cam-config.h\:REG_SHUTTER_WIDTH_CTRL}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_SHUTTER_WIDTH_CTRL\~ 10}
}\par
{\bkmkstart AAAAAAAADA}
{\bkmkend AAAAAAAADA}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 39 der Datei cam-config.h.}\par
}
{\xe \v REG_TEMPERATURE\:cam-config.h}
{\xe \v cam-config.h\:REG_TEMPERATURE}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_TEMPERATURE\~ 50}
}\par
{\bkmkstart AAAAAAAADB}
{\bkmkend AAAAAAAADB}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 79 der Datei cam-config.h.}\par
}
{\xe \v REG_TOTAL_SHUTTER_WITH\:cam-config.h}
{\xe \v cam-config.h\:REG_TOTAL_SHUTTER_WITH}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_TOTAL_SHUTTER_WITH\~ 11}
}\par
{\bkmkstart AAAAAAAADC}
{\bkmkend AAAAAAAADC}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 40 der Datei cam-config.h.}\par
}
{\xe \v REG_V1\:cam-config.h}
{\xe \v cam-config.h\:REG_V1}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_V1\~ 19}
}\par
{\bkmkstart AAAAAAAADD}
{\bkmkend AAAAAAAADD}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 48 der Datei cam-config.h.}\par
}
{\xe \v REG_V2\:cam-config.h}
{\xe \v cam-config.h\:REG_V2}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_V2\~ 20}
}\par
{\bkmkstart AAAAAAAADE}
{\bkmkend AAAAAAAADE}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 49 der Datei cam-config.h.}\par
}
{\xe \v REG_V3\:cam-config.h}
{\xe \v cam-config.h\:REG_V3}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_V3\~ 21}
}\par
{\bkmkstart AAAAAAAADF}
{\bkmkend AAAAAAAADF}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 50 der Datei cam-config.h.}\par
}
{\xe \v REG_V4\:cam-config.h}
{\xe \v cam-config.h\:REG_V4}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_V4\~ 22}
}\par
{\bkmkstart AAAAAAAADG}
{\bkmkend AAAAAAAADG}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 51 der Datei cam-config.h.}\par
}
{\xe \v REG_VERTICAL_BLANKING\:cam-config.h}
{\xe \v cam-config.h\:REG_VERTICAL_BLANKING}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_VERTICAL_BLANKING\~ 6}
}\par
{\bkmkstart AAAAAAAADH}
{\bkmkend AAAAAAAADH}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 35 der Datei cam-config.h.}\par
}
{\xe \v REG_VREF_ADC_CONTROL\:cam-config.h}
{\xe \v cam-config.h\:REG_VREF_ADC_CONTROL}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_VREF_ADC_CONTROL\~ 18}
}\par
{\bkmkstart AAAAAAAADI}
{\bkmkend AAAAAAAADI}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 47 der Datei cam-config.h.}\par
}
{\xe \v REG_WINDOW_HEIGHT\:cam-config.h}
{\xe \v cam-config.h\:REG_WINDOW_HEIGHT}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_WINDOW_HEIGHT\~ 3}
}\par
{\bkmkstart AAAAAAAADJ}
{\bkmkend AAAAAAAADJ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 32 der Datei cam-config.h.}\par
{
Wird benutzt von lcv_capture_frame(), lcv_capture_region() und lcv_reset_capture_frame().}\par
}
{\xe \v REG_WINDOW_WIDTH\:cam-config.h}
{\xe \v cam-config.h\:REG_WINDOW_WIDTH}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define REG_WINDOW_WIDTH\~ 4}
}\par
{\bkmkstart AAAAAAAADK}
{\bkmkend AAAAAAAADK}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 33 der Datei cam-config.h.}\par
{
Wird benutzt von lcv_capture_frame(), lcv_capture_region() und lcv_reset_capture_frame().}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
cam-linux32.c-Dateireferenz\par \pard\plain 
{\tc\tcl2 \v cam-linux32.c}
{\xe \v cam-linux32.c}
{\bkmkstart AAAAAAAADL}
{\bkmkend AAAAAAAADL}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Implementiert (bzw simuliert) die Kamera-Schnittstelle auf einem 32-bit Linux System. \par
}{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include <sys/ioctl.h>}\par
{\f2 #include <stdio.h>}\par
{\f2 #include <stdlib.h>}\par
{\f2 #include <fcntl.h>}\par
{\f2 #include <linux/ioctl.h>}\par
{\f2 #include <errno.h>}\par
{\f2 #include <unistd.h>}\par
{\f2 #include <getopt.h>}\par
{\f2 #include <string.h>}\par
{\f2 #include <strings.h>}\par
{\f2 #include "lcv-config.h"}\par
{\f2 #include "cam.h"}\par
{\f2 #include "cam-reg-config.h"}\par
{\f2 #include "log.h"}\par
{\f2 #include "bmp.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funktionen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_cam_reg_init} ()\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Kamera Register initialisieren. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
{\b lcv_picture} {\b lcv_capture_frame} (const char *filename)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Holt ein Bild von der Kamera. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
{\b lcv_picture} {\b lcv_capture_region} (const unsigned short start_x, const unsigned short start_y, const unsigned short width, unsigned short height, const char *filename)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Holt ein Bildausschnutt von der Kamera. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
char {\b lcv_config_write} (unsigned int setting, unsigned short value)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt eine Registerkonfiguration. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned short {\b lcv_config_read} (unsigned int setting)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest den Wert einer Registerkonfiguration. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
char {\b lcv_regs_to_default} ()\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Setzt alleRegister auf ihren Standardwert. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_reset_capture_frame} ()\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Setzt die 4 f\'FCr die Bildregion verantwortlichen Register auf den Standardwert zur\'FCck. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_reg_buffering} (const unsigned char enable)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Aktiviert bzw. \par
}}}
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Variablen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned char {\b cam_reg_initialized} = FALSE\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Kamera Register inizialisiert. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned short {\b cam_reg_values} [sizeof({\b cam_reg_config})/sizeof(*{\b cam_reg_config})]\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Array mit Kameraregistern. \par
}}}
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Ausf\'FChrliche Beschreibung\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Implementiert (bzw simuliert) die Kamera-Schnittstelle auf einem 32-bit Linux System. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Autor:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Daniel Kummer, Sebastian Kummer \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Datum:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Donnerstag, Dezember 12, 2007 \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Version:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid 1.0 \par
}}{
Definiert in Datei {\b cam-linux32.c}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentation der Funktionen\par
\pard\plain 
{\xe \v lcv_cam_reg_init\:cam-linux32.c}
{\xe \v cam-linux32.c\:lcv_cam_reg_init}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_cam_reg_init ()}
}\par
{\bkmkstart AAAAAAAADM}
{\bkmkend AAAAAAAADM}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Kamera Register initialisieren. \par
}\par
{
Definiert in Zeile 214 der Datei cam-linux32.c.}\par
{
Benutzt cam_reg_config, cam_reg_initialized, cam_reg_values, cam_registers_cnt, lcv_reg_config::default_val und TRUE.}\par
{
Wird benutzt von lcv_config_read() und lcv_config_write().}\par
}
{\xe \v lcv_capture_frame\:cam-linux32.c}
{\xe \v cam-linux32.c\:lcv_capture_frame}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
{\b lcv_picture} lcv_capture_frame (const char * {\i filename})}
}\par
{\bkmkstart AAAAAAAADN}
{\bkmkend AAAAAAAADN}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Holt ein Bild von der Kamera. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i filename} Dateiname des Bildes (wird auf dem Zielsystem ignoriert) \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Bild \par
}}{
Definiert in Zeile 43 der Datei cam-linux32.c.}\par
{
Wird benutzt von lcv_capture_region().}\par
}
{\xe \v lcv_capture_region\:cam-linux32.c}
{\xe \v cam-linux32.c\:lcv_capture_region}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
{\b lcv_picture} lcv_capture_region (const unsigned short {\i start_x}, const unsigned short {\i start_y}, const unsigned short {\i width}, unsigned short {\i height}, const char * {\i filename})}
}\par
{\bkmkstart AAAAAAAADO}
{\bkmkend AAAAAAAADO}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Holt ein Bildausschnutt von der Kamera. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i start_x} Die erste X Koordinate der Region \par
{\i start_y} Die erste Y Koordinate der Region \par
{\i width} Breite der Region \par
{\i height} H\'F6he der Region \par
{\i filename} Dateiname (Wird auf dem Zielsystem ignoriert) \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Bild \par
}}{
Definiert in Zeile 93 der Datei cam-linux32.c.}\par
}
{\xe \v lcv_config_read\:cam-linux32.c}
{\xe \v cam-linux32.c\:lcv_config_read}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned short lcv_config_read (const unsigned int {\i setting})}
}\par
{\bkmkstart AAAAAAAADP}
{\bkmkend AAAAAAAADP}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest den Wert einer Registerkonfiguration. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Registerwert \par
}}{
Definiert in Zeile 183 der Datei cam-linux32.c.}\par
{
Wird benutzt von lcv_capture_frame() und lcv_capture_region().}\par
}
{\xe \v lcv_config_write\:cam-linux32.c}
{\xe \v cam-linux32.c\:lcv_config_write}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
char lcv_config_write (const unsigned int {\i setting}, const unsigned short {\i value})}
}\par
{\bkmkstart AAAAAAAADQ}
{\bkmkend AAAAAAAADQ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt eine Registerkonfiguration. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i setting} Einstellung (Registeradresse) \par
{\i value} Wert \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Erfolgsmeldung (positiv), bzw. Fehlernummer (negativ) \par
}}{
Definiert in Zeile 156 der Datei cam-linux32.c.}\par
{
Wird benutzt von lcv_capture_region(), lcv_regs_to_default() und lcv_reset_capture_frame().}\par
}
{\xe \v lcv_reg_buffering\:cam-linux32.c}
{\xe \v cam-linux32.c\:lcv_reg_buffering}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_reg_buffering (const unsigned char {\i enable})}
}\par
{\bkmkstart AAAAAAAADR}
{\bkmkend AAAAAAAADR}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Aktiviert bzw. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
deaktiviert das Softwarem\'E4ssige Puffering der Register. Es empfiehlt sich das Buffering auf Targetsystemen mit mehr als einem gleichzeitig laufenden Bildverarbeitungsprogramm zu deaktivieren. Auf dem Hostsystem ist Buffering nicht implementiert. Standardm\'E4ssig ist der Buffer aktiviert. {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i enable} Aktiviert bzw. deaktiviert Buffering \par
}
}{
Definiert in Zeile 226 der Datei cam-linux32.c.}\par
}
{\xe \v lcv_regs_to_default\:cam-linux32.c}
{\xe \v cam-linux32.c\:lcv_regs_to_default}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
char lcv_regs_to_default ()}
}\par
{\bkmkstart AAAAAAAADS}
{\bkmkend AAAAAAAADS}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Setzt alleRegister auf ihren Standardwert. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Erfolgsmeldung (positiv), bzw. Fehlernummer (negativ) \par
}}{
Definiert in Zeile 198 der Datei cam-linux32.c.}\par
}
{\xe \v lcv_reset_capture_frame\:cam-linux32.c}
{\xe \v cam-linux32.c\:lcv_reset_capture_frame}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_reset_capture_frame ()}
}\par
{\bkmkstart AAAAAAAADT}
{\bkmkend AAAAAAAADT}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Setzt die 4 f\'FCr die Bildregion verantwortlichen Register auf den Standardwert zur\'FCck. \par
}\par
{
Definiert in Zeile 206 der Datei cam-linux32.c.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Variablen-Dokumentation\par
\pard\plain 
{\xe \v cam_reg_initialized\:cam-linux32.c}
{\xe \v cam-linux32.c\:cam_reg_initialized}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned char {\b cam_reg_initialized} = FALSE}
}\par
{\bkmkstart AAAAAAAADU}
{\bkmkend AAAAAAAADU}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Kamera Register inizialisiert. \par
}\par
{
Definiert in Zeile 36 der Datei cam-linux32.c.}\par
{
Wird benutzt von lcv_cam_reg_init().}\par
}
{\xe \v cam_reg_values\:cam-linux32.c}
{\xe \v cam-linux32.c\:cam_reg_values}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned short {\b cam_reg_values}[sizeof({\b cam_reg_config})/sizeof(*{\b cam_reg_config})]}
}\par
{\bkmkstart AAAAAAAADV}
{\bkmkend AAAAAAAADV}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Array mit Kameraregistern. \par
}\par
{
Definiert in Zeile 41 der Datei cam-linux32.c.}\par
{
Wird benutzt von lcv_cam_reg_init(), lcv_config_read() und lcv_config_write().}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
cam-reg-config.h-Dateireferenz\par \pard\plain 
{\tc\tcl2 \v cam-reg-config.h}
{\xe \v cam-reg-config.h}
{\bkmkstart AAAAAAAADW}
{\bkmkend AAAAAAAADW}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Enth\'E4lt die Konfiguration der Kamera-Register. \par
}{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include "lcv-structs.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Variablen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
const {\b lcv_reg_config} {\b cam_reg_config} []\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Die Registerkonfigurationen Die Werte wurden aus dem Datenblatt des CMOS Sensors mt9v032.pdf entnommen. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned int {\b cam_registers_cnt} = sizeof({\b cam_reg_config}) / sizeof(*{\b cam_reg_config})\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Anzahl Kameraregister. \par
}}}
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Ausf\'FChrliche Beschreibung\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Enth\'E4lt die Konfiguration der Kamera-Register. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
ACHTUNG: Die Registernummern werden {\b lcv-config.h} definiert\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Autor:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Daniel Kummer, Sebastian Kummer \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Datum:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Donnerstag, Dezember 12, 2007 \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Version:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid 1.0 \par
}}{
Definiert in Datei {\b cam-reg-config.h}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Variablen-Dokumentation\par
\pard\plain 
{\xe \v cam_reg_config\:cam-reg-config.h}
{\xe \v cam-reg-config.h\:cam_reg_config}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
const {\b lcv_reg_config} {\b cam_reg_config}[]}
}\par
{\bkmkstart AAAAAAAADX}
{\bkmkend AAAAAAAADX}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Die Registerkonfigurationen Die Werte wurden aus dem Datenblatt des CMOS Sensors mt9v032.pdf entnommen. \par
}\par
{
Definiert in Zeile 19 der Datei cam-reg-config.h.}\par
{
Wird benutzt von lcv_cam_reg_init(), lcv_cam_registers_buffer_init(), lcv_capture_frame(), lcv_capture_region(), lcv_config_read(), lcv_config_write(), lcv_regs_to_default() und lcv_reset_capture_frame().}\par
}
{\xe \v cam_registers_cnt\:cam-reg-config.h}
{\xe \v cam-reg-config.h\:cam_registers_cnt}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned int {\b cam_registers_cnt} = sizeof({\b cam_reg_config}) / sizeof(*{\b cam_reg_config})}
}\par
{\bkmkstart AAAAAAAADY}
{\bkmkend AAAAAAAADY}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Anzahl Kameraregister. \par
}\par
{
Definiert in Zeile 82 der Datei cam-reg-config.h.}\par
{
Wird benutzt von lcv_cam_reg_init(), lcv_config_read(), lcv_config_write() und lcv_regs_to_default().}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
cam-target.c-Dateireferenz\par \pard\plain 
{\tc\tcl2 \v cam-target.c}
{\xe \v cam-target.c}
{\bkmkstart AAAAAAAADZ}
{\bkmkend AAAAAAAADZ}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Implementiert die Kamera-Schnittstelle auf dem Zielsystem (LCV-Board). \par
}{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include <sys/ioctl.h>}\par
{\f2 #include <stdio.h>}\par
{\f2 #include <stdlib.h>}\par
{\f2 #include <fcntl.h>}\par
{\f2 #include <linux/ioctl.h>}\par
{\f2 #include <errno.h>}\par
{\f2 #include <unistd.h>}\par
{\f2 #include <getopt.h>}\par
{\f2 #include <string.h>}\par
{\f2 #include <strings.h>}\par
{\f2 #include "cam.h"}\par
{\f2 #include "cam-reg-config.h"}\par
{\f2 #include "i2c.h"}\par
{\f2 #include "bayer-lcv.h"}\par
{\f2 #include "bmp-header.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funktionen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_cam_registers_buffer_init} ()\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Buffer initialisieren. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b Raw10To8bit} (unsigned char *pic, int size)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
{\b lcv_picture} {\b lcv_capture_frame} (const char *filename)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Holt ein Bild von der Kamera. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
{\b lcv_picture} {\b lcv_capture_region} (const unsigned short start_x, const unsigned short start_y, const unsigned short width, const unsigned short height, const char *filename)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Holt ein Bildausschnutt von der Kamera. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
char {\b lcv_config_write} (const unsigned int setting, const unsigned short value)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt eine Registerkonfiguration. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned short {\b lcv_config_read} (const unsigned int setting)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest den Wert einer Registerkonfiguration. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
char {\b lcv_regs_to_default} ()\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Setzt alleRegister auf ihren Standardwert. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_reset_capture_frame} ()\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Setzt die 4 f\'FCr die Bildregion verantwortlichen Register auf den Standardwert zur\'FCck. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_reg_buffering} (const unsigned char enable)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Aktiviert bzw. \par
}}}
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Variablen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned short {\b cam_registers_buffer_cnt} = sizeof({\b cam_reg_config}) / sizeof(*{\b cam_reg_config})\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Gr\'F6sse des Buffers. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned short {\b cam_registers_buffer} [sizeof({\b cam_reg_config})/sizeof(*{\b cam_reg_config})]\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Bufferarray f\'FCr Kameraregister. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned char {\b cam_registers_buffer_initialized} = FALSE\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Buffer initialisiert. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned char {\b enable_buffer} = TRUE\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Buffer aktivieren, deaktivieren. \par
}}}
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Ausf\'FChrliche Beschreibung\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Implementiert die Kamera-Schnittstelle auf dem Zielsystem (LCV-Board). \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Autor:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Daniel Kummer, Sebastian Kummer \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Datum:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Donnerstag, Dezember 12, 2007 \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Version:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid 1.0 \par
}}{
Definiert in Datei {\b cam-target.c}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentation der Funktionen\par
\pard\plain 
{\xe \v lcv_cam_registers_buffer_init\:cam-target.c}
{\xe \v cam-target.c\:lcv_cam_registers_buffer_init}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_cam_registers_buffer_init ()}
}\par
{\bkmkstart AAAAAAAAEA}
{\bkmkend AAAAAAAAEA}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Buffer initialisieren. \par
}\par
{
Definiert in Zeile 333 der Datei cam-target.c.}\par
{
Benutzt cam_reg_config, cam_registers_buffer_cnt, lcv_reg_config::default_val und TRUE.}\par
{
Wird benutzt von lcv_config_read().}\par
}
{\xe \v lcv_capture_frame\:cam-target.c}
{\xe \v cam-target.c\:lcv_capture_frame}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
{\b lcv_picture} lcv_capture_frame (const char * {\i filename})}
}\par
{\bkmkstart AAAAAAAAEB}
{\bkmkend AAAAAAAAEB}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Holt ein Bild von der Kamera. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i filename} Dateiname des Bildes (wird auf dem Zielsystem ignoriert) \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Bild \par
}}{
Definiert in Zeile 71 der Datei cam-target.c.}\par
{
Benutzt bmphead_bgr, CAM_DEVICE, cam_reg_config, lcv_picture::data, lcv_picture::height, IMG_BGR, lcv_config_read(), lcv_log_error(), lcv_picture::length, Raw10To8bit(), REG_WINDOW_HEIGHT, REG_WINDOW_WIDTH, lcv_picture::type und lcv_picture::width.}\par
}
{\xe \v lcv_capture_region\:cam-target.c}
{\xe \v cam-target.c\:lcv_capture_region}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
{\b lcv_picture} lcv_capture_region (const unsigned short {\i start_x}, const unsigned short {\i start_y}, const unsigned short {\i width}, unsigned short {\i height}, const char * {\i filename})}
}\par
{\bkmkstart AAAAAAAAEC}
{\bkmkend AAAAAAAAEC}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Holt ein Bildausschnutt von der Kamera. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i start_x} Die erste X Koordinate der Region \par
{\i start_y} Die erste Y Koordinate der Region \par
{\i width} Breite der Region \par
{\i height} H\'F6he der Region \par
{\i filename} Dateiname (Wird auf dem Zielsystem ignoriert) \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Bild \par
}}{
Definiert in Zeile 146 der Datei cam-target.c.}\par
{
Benutzt cam_reg_config, lcv_capture_frame(), lcv_config_read(), lcv_config_write(), lcv_log_error(), REG_COLUMN_START, REG_ROW_START, REG_WINDOW_HEIGHT und REG_WINDOW_WIDTH.}\par
}
{\xe \v lcv_config_read\:cam-target.c}
{\xe \v cam-target.c\:lcv_config_read}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned short lcv_config_read (const unsigned int {\i setting})}
}\par
{\bkmkstart AAAAAAAAED}
{\bkmkend AAAAAAAAED}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest den Wert einer Registerkonfiguration. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Registerwert \par
}}{
Definiert in Zeile 290 der Datei cam-target.c.}\par
{
Benutzt lcv_reg_config::addr, CAM_DEV_ID, CAM_I2C_DEVICE, cam_reg_config, cam_registers_cnt, lcv_cam_registers_buffer_init(), lcv_i2c_read_register(), lcv_log_warning() und TRUE.}\par
}
{\xe \v lcv_config_write\:cam-target.c}
{\xe \v cam-target.c\:lcv_config_write}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
char lcv_config_write (const unsigned int {\i setting}, const unsigned short {\i value})}
}\par
{\bkmkstart AAAAAAAAEE}
{\bkmkend AAAAAAAAEE}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt eine Registerkonfiguration. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i setting} Einstellung (Registeradresse) \par
{\i value} Wert \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Erfolgsmeldung (positiv), bzw. Fehlernummer (negativ) \par
}}{
Definiert in Zeile 256 der Datei cam-target.c.}\par
{
Benutzt lcv_reg_config::addr, CAM_DEV_ID, CAM_I2C_DEVICE, cam_reg_config, cam_registers_cnt, ERROR_ILLEGAL_SETTING, ERROR_ILLEGAL_VALUE, lcv_i2c_write_register(), lcv_log_warning(), lcv_reg_config::max_val, lcv_reg_config::min_val und TRUE.}\par
}
{\xe \v lcv_reg_buffering\:cam-target.c}
{\xe \v cam-target.c\:lcv_reg_buffering}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_reg_buffering (const unsigned char {\i enable})}
}\par
{\bkmkstart AAAAAAAAEF}
{\bkmkend AAAAAAAAEF}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Aktiviert bzw. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
deaktiviert das Softwarem\'E4ssige Puffering der Register. Es empfiehlt sich das Buffering auf Targetsystemen mit mehr als einem gleichzeitig laufenden Bildverarbeitungsprogramm zu deaktivieren. Auf dem Hostsystem ist Buffering nicht implementiert. Standardm\'E4ssig ist der Buffer aktiviert. {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i enable} Aktiviert bzw. deaktiviert Buffering \par
}
}{
Definiert in Zeile 345 der Datei cam-target.c.}\par
}
{\xe \v lcv_regs_to_default\:cam-target.c}
{\xe \v cam-target.c\:lcv_regs_to_default}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
char lcv_regs_to_default ()}
}\par
{\bkmkstart AAAAAAAAEG}
{\bkmkend AAAAAAAAEG}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Setzt alleRegister auf ihren Standardwert. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Erfolgsmeldung (positiv), bzw. Fehlernummer (negativ) \par
}}{
Definiert in Zeile 316 der Datei cam-target.c.}\par
{
Benutzt cam_reg_config, cam_registers_cnt, lcv_config_write() und TRUE.}\par
}
{\xe \v lcv_reset_capture_frame\:cam-target.c}
{\xe \v cam-target.c\:lcv_reset_capture_frame}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_reset_capture_frame ()}
}\par
{\bkmkstart AAAAAAAAEH}
{\bkmkend AAAAAAAAEH}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Setzt die 4 f\'FCr die Bildregion verantwortlichen Register auf den Standardwert zur\'FCck. \par
}\par
{
Definiert in Zeile 325 der Datei cam-target.c.}\par
{
Benutzt cam_reg_config, lcv_config_write(), REG_COLUMN_START, REG_ROW_START, REG_WINDOW_HEIGHT und REG_WINDOW_WIDTH.}\par
}
{\xe \v Raw10To8bit\:cam-target.c}
{\xe \v cam-target.c\:Raw10To8bit}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void Raw10To8bit (unsigned char * {\i pic}, int {\i size})}
}\par
{\bkmkstart AAAAAAAAEI}
{\bkmkend AAAAAAAAEI}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 57 der Datei cam-target.c.}\par
{
Wird benutzt von lcv_capture_frame().}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Variablen-Dokumentation\par
\pard\plain 
{\xe \v cam_registers_buffer\:cam-target.c}
{\xe \v cam-target.c\:cam_registers_buffer}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned short {\b cam_registers_buffer}[sizeof({\b cam_reg_config})/sizeof(*{\b cam_reg_config})]}
}\par
{\bkmkstart AAAAAAAAEJ}
{\bkmkend AAAAAAAAEJ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Bufferarray f\'FCr Kameraregister. \par
}\par
{
Definiert in Zeile 40 der Datei cam-target.c.}\par
}
{\xe \v cam_registers_buffer_cnt\:cam-target.c}
{\xe \v cam-target.c\:cam_registers_buffer_cnt}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned short {\b cam_registers_buffer_cnt} = sizeof({\b cam_reg_config}) / sizeof(*{\b cam_reg_config})}
}\par
{\bkmkstart AAAAAAAAEK}
{\bkmkend AAAAAAAAEK}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Gr\'F6sse des Buffers. \par
}\par
{
Definiert in Zeile 35 der Datei cam-target.c.}\par
{
Wird benutzt von lcv_cam_registers_buffer_init().}\par
}
{\xe \v cam_registers_buffer_initialized\:cam-target.c}
{\xe \v cam-target.c\:cam_registers_buffer_initialized}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned char {\b cam_registers_buffer_initialized} = FALSE}
}\par
{\bkmkstart AAAAAAAAEL}
{\bkmkend AAAAAAAAEL}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Buffer initialisiert. \par
}\par
{
Definiert in Zeile 45 der Datei cam-target.c.}\par
}
{\xe \v enable_buffer\:cam-target.c}
{\xe \v cam-target.c\:enable_buffer}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned char {\b enable_buffer} = TRUE}
}\par
{\bkmkstart AAAAAAAAEM}
{\bkmkend AAAAAAAAEM}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Buffer aktivieren, deaktivieren. \par
}\par
{
Definiert in Zeile 50 der Datei cam-target.c.}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
cam.h-Dateireferenz\par \pard\plain 
{\tc\tcl2 \v cam.h}
{\xe \v cam.h}
{\bkmkstart AAAAAAAAEN}
{\bkmkend AAAAAAAAEN}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Die Schnittstelle zur Kamera. \par
}{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include "lcv-config.h"}\par
{\f2 #include "lcv-structs.h"}\par
{\f2 #include "cam-config.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funktionen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
{\b lcv_picture} {\b lcv_capture_frame} (const char *filename)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Holt ein Bild von der Kamera. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
{\b lcv_picture} {\b lcv_capture_region} (const unsigned short start_x, const unsigned short start_y, const unsigned short width, unsigned short height, const char *filename)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Holt ein Bildausschnutt von der Kamera. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
char {\b lcv_config_write} (const unsigned int setting, const unsigned short value)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt eine Registerkonfiguration. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned short {\b lcv_config_read} (const unsigned int setting)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest den Wert einer Registerkonfiguration. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
char {\b lcv_regs_to_default} ()\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Setzt alleRegister auf ihren Standardwert. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_reset_capture_frame} ()\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Setzt die 4 f\'FCr die Bildregion verantwortlichen Register auf den Standardwert zur\'FCck. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_reg_buffering} (const unsigned char enable)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Aktiviert bzw. \par
}}}
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Ausf\'FChrliche Beschreibung\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Die Schnittstelle zur Kamera. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Autor:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Daniel Kummer, Sebastian Kummer \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Datum:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Donnerstag, Dezember 12, 2007 \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Version:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid 1.0 \par
}}{
Definiert in Datei {\b cam.h}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentation der Funktionen\par
\pard\plain 
{\xe \v lcv_capture_frame\:cam.h}
{\xe \v cam.h\:lcv_capture_frame}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
{\b lcv_picture} lcv_capture_frame (const char * {\i filename})}
}\par
{\bkmkstart AAAAAAAAEO}
{\bkmkend AAAAAAAAEO}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Holt ein Bild von der Kamera. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i filename} Dateiname des Bildes (wird auf dem Zielsystem ignoriert) \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Bild \par
}}{
Definiert in Zeile 43 der Datei cam-linux32.c.}\par
{
Benutzt cam_reg_config, lcv_picture::height, lcv_config_read(), lcv_log_error(), lcv_read_bmp(), REG_WINDOW_HEIGHT, REG_WINDOW_WIDTH und lcv_picture::width.}\par
}
{\xe \v lcv_capture_region\:cam.h}
{\xe \v cam.h\:lcv_capture_region}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
{\b lcv_picture} lcv_capture_region (const unsigned short {\i start_x}, const unsigned short {\i start_y}, const unsigned short {\i width}, unsigned short {\i height}, const char * {\i filename})}
}\par
{\bkmkstart AAAAAAAAEP}
{\bkmkend AAAAAAAAEP}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Holt ein Bildausschnutt von der Kamera. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i start_x} Die erste X Koordinate der Region \par
{\i start_y} Die erste Y Koordinate der Region \par
{\i width} Breite der Region \par
{\i height} H\'F6he der Region \par
{\i filename} Dateiname (Wird auf dem Zielsystem ignoriert) \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Bild \par
}}{
Definiert in Zeile 93 der Datei cam-linux32.c.}\par
{
Benutzt cam_reg_config, lcv_picture::height, lcv_log_error(), lcv_read_bmp(), lcv_reg_config::max_val, lcv_reg_config::min_val, REG_COLUMN_START, REG_ROW_START und lcv_picture::width.}\par
}
{\xe \v lcv_config_read\:cam.h}
{\xe \v cam.h\:lcv_config_read}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned short lcv_config_read (const unsigned int {\i setting})}
}\par
{\bkmkstart AAAAAAAAEQ}
{\bkmkend AAAAAAAAEQ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest den Wert einer Registerkonfiguration. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Registerwert \par
}}{
Definiert in Zeile 183 der Datei cam-linux32.c.}\par
{
Benutzt cam_reg_values, cam_registers_cnt, lcv_cam_reg_init() und lcv_log_warning().}\par
}
{\xe \v lcv_config_write\:cam.h}
{\xe \v cam.h\:lcv_config_write}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
char lcv_config_write (const unsigned int {\i setting}, const unsigned short {\i value})}
}\par
{\bkmkstart AAAAAAAAER}
{\bkmkend AAAAAAAAER}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt eine Registerkonfiguration. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i setting} Einstellung (Registeradresse) \par
{\i value} Wert \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Erfolgsmeldung (positiv), bzw. Fehlernummer (negativ) \par
}}{
Definiert in Zeile 156 der Datei cam-linux32.c.}\par
{
Benutzt lcv_reg_config::addr, cam_reg_config, cam_reg_values, cam_registers_cnt, ERROR_ILLEGAL_SETTING, ERROR_ILLEGAL_VALUE, lcv_cam_reg_init(), lcv_log(), lcv_log_warning(), lcv_reg_config::max_val, lcv_reg_config::min_val und TRUE.}\par
}
{\xe \v lcv_reg_buffering\:cam.h}
{\xe \v cam.h\:lcv_reg_buffering}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_reg_buffering (const unsigned char {\i enable})}
}\par
{\bkmkstart AAAAAAAAES}
{\bkmkend AAAAAAAAES}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Aktiviert bzw. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
deaktiviert das Softwarem\'E4ssige Puffering der Register. Es empfiehlt sich das Buffering auf Targetsystemen mit mehr als einem gleichzeitig laufenden Bildverarbeitungsprogramm zu deaktivieren. Auf dem Hostsystem ist Buffering nicht implementiert. Standardm\'E4ssig ist der Buffer aktiviert. {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i enable} Aktiviert bzw. deaktiviert Buffering \par
}
}{
Definiert in Zeile 226 der Datei cam-linux32.c.}\par
}
{\xe \v lcv_regs_to_default\:cam.h}
{\xe \v cam.h\:lcv_regs_to_default}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
char lcv_regs_to_default ()}
}\par
{\bkmkstart AAAAAAAAET}
{\bkmkend AAAAAAAAET}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Setzt alleRegister auf ihren Standardwert. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Erfolgsmeldung (positiv), bzw. Fehlernummer (negativ) \par
}}{
Definiert in Zeile 198 der Datei cam-linux32.c.}\par
{
Benutzt cam_reg_config, cam_registers_cnt und lcv_config_write().}\par
}
{\xe \v lcv_reset_capture_frame\:cam.h}
{\xe \v cam.h\:lcv_reset_capture_frame}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_reset_capture_frame ()}
}\par
{\bkmkstart AAAAAAAAEU}
{\bkmkend AAAAAAAAEU}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Setzt die 4 f\'FCr die Bildregion verantwortlichen Register auf den Standardwert zur\'FCck. \par
}\par
{
Definiert in Zeile 206 der Datei cam-linux32.c.}\par
{
Benutzt cam_reg_config, lcv_config_write(), REG_COLUMN_START, REG_ROW_START, REG_WINDOW_HEIGHT und REG_WINDOW_WIDTH.}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
dip.c-Dateireferenz\par \pard\plain 
{\tc\tcl2 \v dip.c}
{\xe \v dip.c}
{\bkmkstart AAAAAAAAEV}
{\bkmkend AAAAAAAAEV}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Digital Image Processing Implementationen. \par
}{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include <fcntl.h>}\par
{\f2 #include <stdlib.h>}\par
{\f2 #include <stdio.h>}\par
{\f2 #include <string.h>}\par
{\f2 #include <strings.h>}\par
{\f2 #include "lcv-structs.h"}\par
{\f2 #include "lcv-config.h"}\par
{\f2 #include "dip.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funktionen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
{\b lcv_picture} {\b lcv_clone_picture} (const {\b lcv_picture} *pic)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Fertigt eine Kopie eines Bildes an, inklusive aller Parameter. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_free_picture} ({\b lcv_picture} *pic)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
{\b lcv_picture} {\b lcv_invert} (const {\b lcv_picture} *pic)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Invertiert Bild. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
{\b lcv_picture} {\b lcv_reverse} (const {\b lcv_picture} *pic)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Spiegelt Bild. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned int {\b lcv_avg_value} (const {\b lcv_picture} *pic)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Berechnet den Durchschnittswert eines Bildes. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
{\b lcv_picture} {\b lcv_rgb2gray} (const {\b lcv_picture} *pic)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Wandelt ein 24Bit BGR Bild in ein 8Bit Graustufenbild um. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
{\b lcv_picture} {\b lcv_gray2rgb} (const {\b lcv_picture} *pic)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Wandelt ein 8Bit Graustufenbild in ein 24Bit BGR Bild um. \par
}}}
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Ausf\'FChrliche Beschreibung\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Digital Image Processing Implementationen. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Autor:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Daniel Kummer, Sebastian Kummer \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Datum:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Donnerstag, Dezember 12, 2007 \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Version:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid 1.0 \par
}}{
Definiert in Datei {\b dip.c}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentation der Funktionen\par
\pard\plain 
{\xe \v lcv_avg_value\:dip.c}
{\xe \v dip.c\:lcv_avg_value}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned int lcv_avg_value (const {\b lcv_picture} * {\i pic})}
}\par
{\bkmkstart AAAAAAAAEW}
{\bkmkend AAAAAAAAEW}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Berechnet den Durchschnittswert eines Bildes. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i pic} Bild \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Durchschnittswert \par
}}{
Definiert in Zeile 82 der Datei dip.c.}\par
}
{\xe \v lcv_clone_picture\:dip.c}
{\xe \v dip.c\:lcv_clone_picture}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
{\b lcv_picture} lcv_clone_picture (const {\b lcv_picture} * {\i pic})}
}\par
{\bkmkstart AAAAAAAAEX}
{\bkmkend AAAAAAAAEX}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Fertigt eine Kopie eines Bildes an, inklusive aller Parameter. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i pic} Bild \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Kopiertes Bild \par
}}{
Definiert in Zeile 20 der Datei dip.c.}\par
{
Wird benutzt von lcv_write_bmp().}\par
}
{\xe \v lcv_free_picture\:dip.c}
{\xe \v dip.c\:lcv_free_picture}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_free_picture ({\b lcv_picture} * {\i pic})}
}\par
{\bkmkstart AAAAAAAAEY}
{\bkmkend AAAAAAAAEY}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 33 der Datei dip.c.}\par
}
{\xe \v lcv_gray2rgb\:dip.c}
{\xe \v dip.c\:lcv_gray2rgb}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
{\b lcv_picture} lcv_gray2rgb (const {\b lcv_picture} * {\i pic})}
}\par
{\bkmkstart AAAAAAAAEZ}
{\bkmkend AAAAAAAAEZ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Wandelt ein 8Bit Graustufenbild in ein 24Bit BGR Bild um. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i pic} Umzuwandelndes Bild \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid BGR Bild \par
}}{
Definiert in Zeile 120 der Datei dip.c.}\par
{
Wird benutzt von lcv_write_bmp().}\par
}
{\xe \v lcv_invert\:dip.c}
{\xe \v dip.c\:lcv_invert}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
{\b lcv_picture} lcv_invert (const {\b lcv_picture} * {\i pic})}
}\par
{\bkmkstart AAAAAAAAFA}
{\bkmkend AAAAAAAAFA}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Invertiert Bild. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i pic} Zu invertierendes Bild \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Invertiertes Bild \par
}}{
Definiert in Zeile 38 der Datei dip.c.}\par
}
{\xe \v lcv_reverse\:dip.c}
{\xe \v dip.c\:lcv_reverse}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
{\b lcv_picture} lcv_reverse (const {\b lcv_picture} * {\i pic})}
}\par
{\bkmkstart AAAAAAAAFB}
{\bkmkend AAAAAAAAFB}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Spiegelt Bild. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Aus bottom-up wird top-down {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i pic} Zu spiegelndes Bild \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Gespiegeltes Bild \par
}}{
Definiert in Zeile 57 der Datei dip.c.}\par
}
{\xe \v lcv_rgb2gray\:dip.c}
{\xe \v dip.c\:lcv_rgb2gray}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
{\b lcv_picture} lcv_rgb2gray (const {\b lcv_picture} * {\i pic})}
}\par
{\bkmkstart AAAAAAAAFC}
{\bkmkend AAAAAAAAFC}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Wandelt ein 24Bit BGR Bild in ein 8Bit Graustufenbild um. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Dieses Format wird nur intern verwendet, beim Abspeichern werden die Grausufeninformationen auf 24Bit abgebildet. {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i pic} Umzuwandelndes Bild \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Graustufenbild \par
}}{
Definiert in Zeile 94 der Datei dip.c.}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
dip.h-Dateireferenz\par \pard\plain 
{\tc\tcl2 \v dip.h}
{\xe \v dip.h}
{\bkmkstart AAAAAAAAFD}
{\bkmkend AAAAAAAAFD}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Digital Image Processing Funktionen. \par
}{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include "lcv-config.h"}\par
{\f2 #include "lcv-structs.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funktionen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
{\b lcv_picture} {\b lcv_clone_picture} (const {\b lcv_picture} *pic)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Fertigt eine Kopie eines Bildes an, inklusive aller Parameter. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_free_picture} ({\b lcv_picture} *pic)\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
{\b lcv_picture} {\b lcv_invert} (const {\b lcv_picture} *pic)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Invertiert Bild. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
{\b lcv_picture} {\b lcv_reverse} (const {\b lcv_picture} *pic)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Spiegelt Bild. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned int {\b lcv_avg_value} (const {\b lcv_picture} *pic)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Berechnet den Durchschnittswert eines Bildes. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
{\b lcv_picture} {\b lcv_rgb2gray} (const {\b lcv_picture} *pic)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Wandelt ein 24Bit BGR Bild in ein 8Bit Graustufenbild um. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
{\b lcv_picture} {\b lcv_gray2rgb} (const {\b lcv_picture} *pic)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Wandelt ein 8Bit Graustufenbild in ein 24Bit BGR Bild um. \par
}}}
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Ausf\'FChrliche Beschreibung\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Digital Image Processing Funktionen. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Autor:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Daniel Kummer, Sebastian Kummer \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Datum:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Donnerstag, Dezember 12, 2007 \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Version:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid 1.0 \par
}}{
Definiert in Datei {\b dip.h}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentation der Funktionen\par
\pard\plain 
{\xe \v lcv_avg_value\:dip.h}
{\xe \v dip.h\:lcv_avg_value}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned int lcv_avg_value (const {\b lcv_picture} * {\i pic})}
}\par
{\bkmkstart AAAAAAAAFE}
{\bkmkend AAAAAAAAFE}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Berechnet den Durchschnittswert eines Bildes. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i pic} Bild \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Durchschnittswert \par
}}{
Definiert in Zeile 82 der Datei dip.c.}\par
{
Benutzt lcv_picture::data und lcv_picture::length.}\par
}
{\xe \v lcv_clone_picture\:dip.h}
{\xe \v dip.h\:lcv_clone_picture}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
{\b lcv_picture} lcv_clone_picture (const {\b lcv_picture} * {\i pic})}
}\par
{\bkmkstart AAAAAAAAFF}
{\bkmkend AAAAAAAAFF}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Fertigt eine Kopie eines Bildes an, inklusive aller Parameter. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i pic} Bild \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Kopiertes Bild \par
}}{
Definiert in Zeile 20 der Datei dip.c.}\par
{
Benutzt lcv_picture::data, lcv_picture::height, lcv_picture::length, lcv_picture::type und lcv_picture::width.}\par
}
{\xe \v lcv_free_picture\:dip.h}
{\xe \v dip.h\:lcv_free_picture}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_free_picture ({\b lcv_picture} * {\i pic})}
}\par
{\bkmkstart AAAAAAAAFG}
{\bkmkend AAAAAAAAFG}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 33 der Datei dip.c.}\par
{
Benutzt lcv_picture::data.}\par
}
{\xe \v lcv_gray2rgb\:dip.h}
{\xe \v dip.h\:lcv_gray2rgb}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
{\b lcv_picture} lcv_gray2rgb (const {\b lcv_picture} * {\i pic})}
}\par
{\bkmkstart AAAAAAAAFH}
{\bkmkend AAAAAAAAFH}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Wandelt ein 8Bit Graustufenbild in ein 24Bit BGR Bild um. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i pic} Umzuwandelndes Bild \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid BGR Bild \par
}}{
Definiert in Zeile 120 der Datei dip.c.}\par
{
Benutzt lcv_picture::data, lcv_picture::height, IMG_BGR, lcv_picture::length, lcv_picture::type und lcv_picture::width.}\par
}
{\xe \v lcv_invert\:dip.h}
{\xe \v dip.h\:lcv_invert}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
{\b lcv_picture} lcv_invert (const {\b lcv_picture} * {\i pic})}
}\par
{\bkmkstart AAAAAAAAFI}
{\bkmkend AAAAAAAAFI}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Invertiert Bild. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i pic} Zu invertierendes Bild \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Invertiertes Bild \par
}}{
Definiert in Zeile 38 der Datei dip.c.}\par
{
Benutzt lcv_picture::data, lcv_picture::height, lcv_picture::length, lcv_picture::type und lcv_picture::width.}\par
}
{\xe \v lcv_reverse\:dip.h}
{\xe \v dip.h\:lcv_reverse}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
{\b lcv_picture} lcv_reverse (const {\b lcv_picture} * {\i pic})}
}\par
{\bkmkstart AAAAAAAAFJ}
{\bkmkend AAAAAAAAFJ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Spiegelt Bild. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Aus bottom-up wird top-down {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i pic} Zu spiegelndes Bild \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Gespiegeltes Bild \par
}}{
Definiert in Zeile 57 der Datei dip.c.}\par
{
Benutzt lcv_picture::data, lcv_picture::height, IMG_GRAYSCALE, lcv_picture::length, lcv_picture::type und lcv_picture::width.}\par
}
{\xe \v lcv_rgb2gray\:dip.h}
{\xe \v dip.h\:lcv_rgb2gray}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
{\b lcv_picture} lcv_rgb2gray (const {\b lcv_picture} * {\i pic})}
}\par
{\bkmkstart AAAAAAAAFK}
{\bkmkend AAAAAAAAFK}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Wandelt ein 24Bit BGR Bild in ein 8Bit Graustufenbild um. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Dieses Format wird nur intern verwendet, beim Abspeichern werden die Grausufeninformationen auf 24Bit abgebildet. {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i pic} Umzuwandelndes Bild \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Graustufenbild \par
}}{
Definiert in Zeile 94 der Datei dip.c.}\par
{
Benutzt lcv_picture::data, lcv_picture::height, IMG_GRAYSCALE, lcv_picture::length, lcv_picture::type und lcv_picture::width.}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
gpio-config.h-Dateireferenz\par \pard\plain 
{\tc\tcl2 \v gpio-config.h}
{\xe \v gpio-config.h}
{\bkmkstart AAAAAAAAFL}
{\bkmkend AAAAAAAAFL}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Enth\'E4lt die Konfiguration der GPIO Ports. \par
}\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Makrodefinitionen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b OUT_0}\~ 0\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Out-Ports. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b OUT_1}\~ 1\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b IN_0}\~ 0\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
In-Ports. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b IN_1}\~ 1\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Ausf\'FChrliche Beschreibung\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Enth\'E4lt die Konfiguration der GPIO Ports. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Autor:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Daniel Kummer, Sebastian Kummer \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Datum:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Donnerstag, Dezember 12, 2007 \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Version:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid 1.0 \par
}}{
Definiert in Datei {\b gpio-config.h}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Makro-Dokumentation\par
\pard\plain 
{\xe \v IN_0\:gpio-config.h}
{\xe \v gpio-config.h\:IN_0}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define IN_0\~ 0}
}\par
{\bkmkstart AAAAAAAAFM}
{\bkmkend AAAAAAAAFM}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
In-Ports. \par
}\par
{
Definiert in Zeile 21 der Datei gpio-config.h.}\par
}
{\xe \v IN_1\:gpio-config.h}
{\xe \v gpio-config.h\:IN_1}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define IN_1\~ 1}
}\par
{\bkmkstart AAAAAAAAFN}
{\bkmkend AAAAAAAAFN}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 22 der Datei gpio-config.h.}\par
}
{\xe \v OUT_0\:gpio-config.h}
{\xe \v gpio-config.h\:OUT_0}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define OUT_0\~ 0}
}\par
{\bkmkstart AAAAAAAAFO}
{\bkmkend AAAAAAAAFO}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Out-Ports. \par
}\par
{
Definiert in Zeile 15 der Datei gpio-config.h.}\par
}
{\xe \v OUT_1\:gpio-config.h}
{\xe \v gpio-config.h\:OUT_1}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define OUT_1\~ 1}
}\par
{\bkmkstart AAAAAAAAFP}
{\bkmkend AAAAAAAAFP}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 16 der Datei gpio-config.h.}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
gpio-linux32.c-Dateireferenz\par \pard\plain 
{\tc\tcl2 \v gpio-linux32.c}
{\xe \v gpio-linux32.c}
{\bkmkstart AAAAAAAAFQ}
{\bkmkend AAAAAAAAFQ}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Implementiert (bzw simuliert) die GPIO-Schnittstelle auf einem 32-bit Linux System. \par
}{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include <stdio.h>}\par
{\f2 #include "gpio.h"}\par
{\f2 #include "gpio-port-config.h"}\par
{\f2 #include "log.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funktionen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_gpio_init} ()\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Initialisiert das gpio_values[] Array. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
char {\b lcv_gpio_read} (unsigned char port)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest den Wert eines Eingabeports. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
char {\b lcv_gpio_write} (unsigned char port, unsigned char value)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt den Wert eines Ausgabeports. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_gpio_simulate_input} (unsigned char port, unsigned char value)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Simuliert einen Input an einem GPIO Port. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_gpio_simulate_output} (void(*handler)(unsigned char port, unsigned char value))\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Legt eine Funktion als Event-Handler f\'FCr Schreiboperationen auf GPIO Ports fest. \par
}}}
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Variablen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned char {\b gpio_initialised} = FALSE\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Wurden die Ports bereits initialisiert. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned char {\b gpio_values} [sizeof({\b gpio_in})/sizeof(*{\b gpio_in})]\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Array zur Simulation der GPIO Ports. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void(* {\b gpio_write_handler} )(unsigned char port, unsigned char value) = NULL\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Function-Pointer auf den GPIO-Output-Handler. \par
}}}
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Ausf\'FChrliche Beschreibung\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Implementiert (bzw simuliert) die GPIO-Schnittstelle auf einem 32-bit Linux System. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Autor:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Daniel Kummer, Sebastian Kummer \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Datum:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Donnerstag, Dezember 12, 2007 \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Version:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid 1.0 \par
}}{
Definiert in Datei {\b gpio-linux32.c}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentation der Funktionen\par
\pard\plain 
{\xe \v lcv_gpio_init\:gpio-linux32.c}
{\xe \v gpio-linux32.c\:lcv_gpio_init}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_gpio_init ()}
}\par
{\bkmkstart AAAAAAAAFR}
{\bkmkend AAAAAAAAFR}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Initialisiert das gpio_values[] Array. \par
}\par
{
Definiert in Zeile 63 der Datei gpio-linux32.c.}\par
{
Benutzt gpio_in_ports_cnt, gpio_initialised, gpio_values und TRUE.}\par
{
Wird benutzt von lcv_gpio_read().}\par
}
{\xe \v lcv_gpio_read\:gpio-linux32.c}
{\xe \v gpio-linux32.c\:lcv_gpio_read}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
char lcv_gpio_read (unsigned char {\i port})}
}\par
{\bkmkstart AAAAAAAAFS}
{\bkmkend AAAAAAAAFS}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest den Wert eines Eingabeports. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i port} Nummer des LCV-Ports \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Wert (0 oder 1) oder Fehlernummer (negativ) \par
}}{
Definiert in Zeile 36 der Datei gpio-linux32.c.}\par
}
{\xe \v lcv_gpio_simulate_input\:gpio-linux32.c}
{\xe \v gpio-linux32.c\:lcv_gpio_simulate_input}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_gpio_simulate_input (unsigned char {\i port}, unsigned char {\i value})}
}\par
{\bkmkstart AAAAAAAAFT}
{\bkmkend AAAAAAAAFT}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Simuliert einen Input an einem GPIO Port. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i port} Nummer des LCV-Ports \par
{\i value} Wert (0 oder 1) \par
}
}{
Definiert in Zeile 76 der Datei gpio-linux32.c.}\par
}
{\xe \v lcv_gpio_simulate_output\:gpio-linux32.c}
{\xe \v gpio-linux32.c\:lcv_gpio_simulate_output}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_gpio_simulate_output (void(*)(unsigned char port, unsigned char value) {\i handler})}
}\par
{\bkmkstart AAAAAAAAFU}
{\bkmkend AAAAAAAAFU}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Legt eine Funktion als Event-Handler f\'FCr Schreiboperationen auf GPIO Ports fest. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i handler} Function-Pointer auf den Event-Handler mit der Portnummer und dem geschriebenen Wert als Parameter \par
}
}{
Definiert in Zeile 87 der Datei gpio-linux32.c.}\par
}
{\xe \v lcv_gpio_write\:gpio-linux32.c}
{\xe \v gpio-linux32.c\:lcv_gpio_write}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
char lcv_gpio_write (unsigned char {\i port}, unsigned char {\i value})}
}\par
{\bkmkstart AAAAAAAAFV}
{\bkmkend AAAAAAAAFV}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt den Wert eines Ausgabeports. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i port} Nummer des LCV-Ports \par
{\i value} 0 oder 1 \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Erfolgsmeldung (positiv) oder Fehlernummer (negativ) \par
}}{
Definiert in Zeile 46 der Datei gpio-linux32.c.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Variablen-Dokumentation\par
\pard\plain 
{\xe \v gpio_initialised\:gpio-linux32.c}
{\xe \v gpio-linux32.c\:gpio_initialised}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned char {\b gpio_initialised} = FALSE}
}\par
{\bkmkstart AAAAAAAAFW}
{\bkmkend AAAAAAAAFW}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Wurden die Ports bereits initialisiert. \par
}\par
{
Definiert in Zeile 23 der Datei gpio-linux32.c.}\par
{
Wird benutzt von lcv_gpio_init().}\par
}
{\xe \v gpio_values\:gpio-linux32.c}
{\xe \v gpio-linux32.c\:gpio_values}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned char {\b gpio_values}[sizeof({\b gpio_in})/sizeof(*{\b gpio_in})]}
}\par
{\bkmkstart AAAAAAAAFX}
{\bkmkend AAAAAAAAFX}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Array zur Simulation der GPIO Ports. \par
}\par
{
Definiert in Zeile 28 der Datei gpio-linux32.c.}\par
{
Wird benutzt von lcv_gpio_init(), lcv_gpio_read() und lcv_gpio_simulate_input().}\par
}
{\xe \v gpio_write_handler\:gpio-linux32.c}
{\xe \v gpio-linux32.c\:gpio_write_handler}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void(* {\b gpio_write_handler})(unsigned char port, unsigned char value) = NULL}
}\par
{\bkmkstart AAAAAAAAFY}
{\bkmkend AAAAAAAAFY}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Function-Pointer auf den GPIO-Output-Handler. \par
}\par
{
Definiert in Zeile 33 der Datei gpio-linux32.c.}\par
{
Wird benutzt von lcv_gpio_simulate_output() und lcv_gpio_write().}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
gpio-port-config.h-Dateireferenz\par \pard\plain 
{\tc\tcl2 \v gpio-port-config.h}
{\xe \v gpio-port-config.h}
{\bkmkstart AAAAAAAAFZ}
{\bkmkend AAAAAAAAFZ}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Enth\'E4lt die Ger\'E4teadressen der GPIO Ports. \par
}{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include "lcv-structs.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Variablen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
const {\b lcv_gpio_config} {\b gpio_out} []\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Array mit Deviceadressen der Out-Ports. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
const {\b lcv_gpio_config} {\b gpio_in} []\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Array mit Deviceadressen der In-Ports. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned char {\b gpio_out_ports_cnt} = sizeof({\b gpio_out}) / sizeof(*{\b gpio_out})\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Anzahl Out-Ports. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned char {\b gpio_in_ports_cnt} = sizeof({\b gpio_in}) / sizeof(*{\b gpio_in})\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Anzahl In-Ports. \par
}}}
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Ausf\'FChrliche Beschreibung\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Enth\'E4lt die Ger\'E4teadressen der GPIO Ports. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Autor:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Daniel Kummer, Sebastian Kummer \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Datum:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Donnerstag, Dezember 12, 2007 \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Version:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid 1.0 \par
}}{
Definiert in Datei {\b gpio-port-config.h}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Variablen-Dokumentation\par
\pard\plain 
{\xe \v gpio_in\:gpio-port-config.h}
{\xe \v gpio-port-config.h\:gpio_in}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
const {\b lcv_gpio_config} {\b gpio_in}[]}
}\par
{\bkmkstart AAAAAAAAGA}
{\bkmkend AAAAAAAAGA}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\b Initialisierung:}{
\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid  \{\par
                                                                        "/dev/pf4", \par
                                                                        "/dev/pf7"\par
                                                                   \}\par
}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Array mit Deviceadressen der In-Ports. \par
}\par
{
Definiert in Zeile 25 der Datei gpio-port-config.h.}\par
{
Wird benutzt von lcv_gpio_read().}\par
}
{\xe \v gpio_in_ports_cnt\:gpio-port-config.h}
{\xe \v gpio-port-config.h\:gpio_in_ports_cnt}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned char {\b gpio_in_ports_cnt} = sizeof({\b gpio_in}) / sizeof(*{\b gpio_in})}
}\par
{\bkmkstart AAAAAAAAGB}
{\bkmkend AAAAAAAAGB}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Anzahl In-Ports. \par
}\par
{
Definiert in Zeile 37 der Datei gpio-port-config.h.}\par
{
Wird benutzt von lcv_gpio_init() und lcv_gpio_read().}\par
}
{\xe \v gpio_out\:gpio-port-config.h}
{\xe \v gpio-port-config.h\:gpio_out}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
const {\b lcv_gpio_config} {\b gpio_out}[]}
}\par
{\bkmkstart AAAAAAAAGC}
{\bkmkend AAAAAAAAGC}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\b Initialisierung:}{
\pard\plain \s41\li360\widctlpar\adjustright \shading1000\cbpat8 \f2\fs16\cgrid  \{\par
                                                                        "/dev/pf2", \par
                                                                        "/dev/pf6"\par
                                                                   \}\par
}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Array mit Deviceadressen der Out-Ports. \par
}\par
{
Definiert in Zeile 17 der Datei gpio-port-config.h.}\par
{
Wird benutzt von lcv_gpio_write().}\par
}
{\xe \v gpio_out_ports_cnt\:gpio-port-config.h}
{\xe \v gpio-port-config.h\:gpio_out_ports_cnt}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned char {\b gpio_out_ports_cnt} = sizeof({\b gpio_out}) / sizeof(*{\b gpio_out})}
}\par
{\bkmkstart AAAAAAAAGD}
{\bkmkend AAAAAAAAGD}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Anzahl Out-Ports. \par
}\par
{
Definiert in Zeile 33 der Datei gpio-port-config.h.}\par
{
Wird benutzt von lcv_gpio_simulate_input() und lcv_gpio_write().}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
gpio-target.c-Dateireferenz\par \pard\plain 
{\tc\tcl2 \v gpio-target.c}
{\xe \v gpio-target.c}
{\bkmkstart AAAAAAAAGE}
{\bkmkend AAAAAAAAGE}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Implementiert die GPIO-Schnittstelle auf dem Zielsystem (LCV-Board). \par
}{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include <sys/ioctl.h>}\par
{\f2 #include <fcntl.h>}\par
{\f2 #include <linux/ioctl.h>}\par
{\f2 #include <errno.h>}\par
{\f2 #include <unistd.h>}\par
{\f2 #include <string.h>}\par
{\f2 #include <stdio.h>}\par
{\f2 #include "pflags.h"}\par
{\f2 #include "gpio.h"}\par
{\f2 #include "gpio-port-config.h"}\par
{\f2 #include "log.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funktionen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
char {\b lcv_gpio_read} (unsigned char port)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest den Wert eines Eingabeports. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
char {\b lcv_gpio_write} (unsigned char port, unsigned char value)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt den Wert eines Ausgabeports. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_gpio_simulate_input} (unsigned char port, unsigned char value)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Simuliert einen Input an einem GPIO Port. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_gpio_simulate_output} (void(*handler)(unsigned char port, unsigned char value))\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Legt eine Funktion als Event-Handler f\'FCr Schreiboperationen auf GPIO Ports fest. \par
}}}
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Ausf\'FChrliche Beschreibung\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Implementiert die GPIO-Schnittstelle auf dem Zielsystem (LCV-Board). \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Autor:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Daniel Kummer, Sebastian Kummer \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Datum:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Donnerstag, Dezember 12, 2007 \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Version:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid 1.0 \par
}}{
Definiert in Datei {\b gpio-target.c}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentation der Funktionen\par
\pard\plain 
{\xe \v lcv_gpio_read\:gpio-target.c}
{\xe \v gpio-target.c\:lcv_gpio_read}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
char lcv_gpio_read (unsigned char {\i port})}
}\par
{\bkmkstart AAAAAAAAGF}
{\bkmkend AAAAAAAAGF}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest den Wert eines Eingabeports. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i port} Nummer des LCV-Ports \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Wert (0 oder 1) oder Fehlernummer (negativ) \par
}}{
Definiert in Zeile 21 der Datei gpio-target.c.}\par
{
Benutzt ERROR, ERROR_ILLEGAL_PORT, gpio_in und gpio_in_ports_cnt.}\par
}
{\xe \v lcv_gpio_simulate_input\:gpio-target.c}
{\xe \v gpio-target.c\:lcv_gpio_simulate_input}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_gpio_simulate_input (unsigned char {\i port}, unsigned char {\i value})}
}\par
{\bkmkstart AAAAAAAAGG}
{\bkmkend AAAAAAAAGG}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Simuliert einen Input an einem GPIO Port. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i port} Nummer des LCV-Ports \par
{\i value} Wert (0 oder 1) \par
}
}{
Definiert in Zeile 97 der Datei gpio-target.c.}\par
}
{\xe \v lcv_gpio_simulate_output\:gpio-target.c}
{\xe \v gpio-target.c\:lcv_gpio_simulate_output}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_gpio_simulate_output (void(*)(unsigned char port, unsigned char value) {\i handler})}
}\par
{\bkmkstart AAAAAAAAGH}
{\bkmkend AAAAAAAAGH}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Legt eine Funktion als Event-Handler f\'FCr Schreiboperationen auf GPIO Ports fest. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i handler} Function-Pointer auf den Event-Handler mit der Portnummer und dem geschriebenen Wert als Parameter \par
}
}{
Definiert in Zeile 102 der Datei gpio-target.c.}\par
}
{\xe \v lcv_gpio_write\:gpio-target.c}
{\xe \v gpio-target.c\:lcv_gpio_write}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
char lcv_gpio_write (unsigned char {\i port}, unsigned char {\i value})}
}\par
{\bkmkstart AAAAAAAAGI}
{\bkmkend AAAAAAAAGI}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt den Wert eines Ausgabeports. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i port} Nummer des LCV-Ports \par
{\i value} 0 oder 1 \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Erfolgsmeldung (positiv) oder Fehlernummer (negativ) \par
}}{
Definiert in Zeile 54 der Datei gpio-target.c.}\par
{
Benutzt ERROR, ERROR_ILLEGAL_PORT, ERROR_ILLEGAL_VALUE, gpio_out, gpio_out_ports_cnt, lcv_log_warning() und TRUE.}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
gpio.h-Dateireferenz\par \pard\plain 
{\tc\tcl2 \v gpio.h}
{\xe \v gpio.h}
{\bkmkstart AAAAAAAAGJ}
{\bkmkend AAAAAAAAGJ}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Die Schnittstelle zu den GPIO Ports. \par
}{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include "lcv-config.h"}\par
{\f2 #include "lcv-structs.h"}\par
{\f2 #include "gpio-config.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funktionen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
char {\b lcv_gpio_read} (unsigned char port)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest den Wert eines Eingabeports. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
char {\b lcv_gpio_write} (unsigned char port, unsigned char value)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt den Wert eines Ausgabeports. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_gpio_simulate_input} (unsigned char port, unsigned char value)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Simuliert einen Input an einem GPIO Port. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_gpio_simulate_output} (void(*handler)(unsigned char port, unsigned char value))\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Legt eine Funktion als Event-Handler f\'FCr Schreiboperationen auf GPIO Ports fest. \par
}}}
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Ausf\'FChrliche Beschreibung\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Die Schnittstelle zu den GPIO Ports. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Autor:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Daniel Kummer, Sebastian Kummer \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Datum:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Donnerstag, Dezember 12, 2007 \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Version:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid 1.0 \par
}}{
Definiert in Datei {\b gpio.h}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentation der Funktionen\par
\pard\plain 
{\xe \v lcv_gpio_read\:gpio.h}
{\xe \v gpio.h\:lcv_gpio_read}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
char lcv_gpio_read (unsigned char {\i port})}
}\par
{\bkmkstart AAAAAAAAGK}
{\bkmkend AAAAAAAAGK}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Liest den Wert eines Eingabeports. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i port} Nummer des LCV-Ports \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Wert (0 oder 1) oder Fehlernummer (negativ) \par
}}{
Definiert in Zeile 36 der Datei gpio-linux32.c.}\par
{
Benutzt ERROR_ILLEGAL_PORT, gpio_in_ports_cnt, gpio_values und lcv_gpio_init().}\par
}
{\xe \v lcv_gpio_simulate_input\:gpio.h}
{\xe \v gpio.h\:lcv_gpio_simulate_input}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_gpio_simulate_input (unsigned char {\i port}, unsigned char {\i value})}
}\par
{\bkmkstart AAAAAAAAGL}
{\bkmkend AAAAAAAAGL}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Simuliert einen Input an einem GPIO Port. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i port} Nummer des LCV-Ports \par
{\i value} Wert (0 oder 1) \par
}
}{
Definiert in Zeile 76 der Datei gpio-linux32.c.}\par
{
Benutzt gpio_out_ports_cnt und gpio_values.}\par
}
{\xe \v lcv_gpio_simulate_output\:gpio.h}
{\xe \v gpio.h\:lcv_gpio_simulate_output}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_gpio_simulate_output (void(*)(unsigned char port, unsigned char value) {\i handler})}
}\par
{\bkmkstart AAAAAAAAGM}
{\bkmkend AAAAAAAAGM}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Legt eine Funktion als Event-Handler f\'FCr Schreiboperationen auf GPIO Ports fest. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i handler} Function-Pointer auf den Event-Handler mit der Portnummer und dem geschriebenen Wert als Parameter \par
}
}{
Definiert in Zeile 87 der Datei gpio-linux32.c.}\par
{
Benutzt gpio_write_handler.}\par
}
{\xe \v lcv_gpio_write\:gpio.h}
{\xe \v gpio.h\:lcv_gpio_write}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
char lcv_gpio_write (unsigned char {\i port}, unsigned char {\i value})}
}\par
{\bkmkstart AAAAAAAAGN}
{\bkmkend AAAAAAAAGN}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt den Wert eines Ausgabeports. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i port} Nummer des LCV-Ports \par
{\i value} 0 oder 1 \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Erfolgsmeldung (positiv) oder Fehlernummer (negativ) \par
}}{
Definiert in Zeile 46 der Datei gpio-linux32.c.}\par
{
Benutzt ERROR_ILLEGAL_PORT, gpio_out_ports_cnt, gpio_write_handler, lcv_log() und TRUE.}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
i2c.c-Dateireferenz\par \pard\plain 
{\tc\tcl2 \v i2c.c}
{\xe \v i2c.c}
{\bkmkstart AAAAAAAAGO}
{\bkmkend AAAAAAAAGO}
{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include "i2c-dev.h"}\par
{\f2 #include "i2c.h"}\par
{\f2 #include "log.h"}\par
{\f2 #include <string.h>}\par
{\f2 #include <stdlib.h>}\par
{\f2 #include <sys/types.h>}\par
{\f2 #include <sys/stat.h>}\par
{\f2 #include <sys/poll.h>}\par
{\f2 #include <stdio.h>}\par
{\f2 #include <fcntl.h>}\par
{\f2 #include <unistd.h>}\par
{\f2 #include <sys/ioctl.h>}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Makrodefinitionen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b I2C_SLAVE_ADDR}\~ 0x38\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funktionen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
int {\b lcv_i2c_write_register} (char *device, unsigned char client, unsigned char reg, unsigned short value)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Lies ein Register \'FCber einen I2C-Bus. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
int {\b lcv_i2c_read_register} (char *device, unsigned char client, unsigned char reg)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt ein Register \'FCber einen I2C-Bus. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_i2c_dump_register} (char *device, unsigned char client, unsigned short start, unsigned short end)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Erstellt einen Dump eines Clients \'FCber einen I2C-Bus. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_i2c_scan_bus} (char *device)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Scannt den I2C-Bus. \par
}}}
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Makro-Dokumentation\par
\pard\plain 
{\xe \v I2C_SLAVE_ADDR\:i2c.c}
{\xe \v i2c.c\:I2C_SLAVE_ADDR}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define I2C_SLAVE_ADDR\~ 0x38}
}\par
{\bkmkstart AAAAAAAAGP}
{\bkmkend AAAAAAAAGP}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 50 der Datei i2c.c.}\par
{
Wird benutzt von lcv_i2c_dump_register(), lcv_i2c_read_register(), lcv_i2c_scan_bus() und lcv_i2c_write_register().}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentation der Funktionen\par
\pard\plain 
{\xe \v lcv_i2c_dump_register\:i2c.c}
{\xe \v i2c.c\:lcv_i2c_dump_register}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_i2c_dump_register (char * {\i device}, unsigned char {\i client}, unsigned short {\i start}, unsigned short {\i end})}
}\par
{\bkmkstart AAAAAAAAGQ}
{\bkmkend AAAAAAAAGQ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Erstellt einen Dump eines Clients \'FCber einen I2C-Bus. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i device} Device \par
{\i client} Client \par
{\i start} Startadresse \par
{\i end} Endadresse \par
}
}{
Definiert in Zeile 151 der Datei i2c.c.}\par
}
{\xe \v lcv_i2c_read_register\:i2c.c}
{\xe \v i2c.c\:lcv_i2c_read_register}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
int lcv_i2c_read_register (char * {\i device}, unsigned char {\i client}, unsigned char {\i reg})}
}\par
{\bkmkstart AAAAAAAAGR}
{\bkmkend AAAAAAAAGR}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt ein Register \'FCber einen I2C-Bus. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i device} Device \par
{\i client} Client \par
{\i reg} Register \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Registerwert \par
}}{
Definiert in Zeile 96 der Datei i2c.c.}\par
{
Wird benutzt von lcv_config_read().}\par
}
{\xe \v lcv_i2c_scan_bus\:i2c.c}
{\xe \v i2c.c\:lcv_i2c_scan_bus}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_i2c_scan_bus (char * {\i device})}
}\par
{\bkmkstart AAAAAAAAGS}
{\bkmkend AAAAAAAAGS}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Scannt den I2C-Bus. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i device} Device \par
}
}{
Definiert in Zeile 211 der Datei i2c.c.}\par
}
{\xe \v lcv_i2c_write_register\:i2c.c}
{\xe \v i2c.c\:lcv_i2c_write_register}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
int lcv_i2c_write_register (char * {\i device}, unsigned char {\i client}, unsigned char {\i reg}, unsigned short {\i value})}
}\par
{\bkmkstart AAAAAAAAGT}
{\bkmkend AAAAAAAAGT}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Lies ein Register \'FCber einen I2C-Bus. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i device} Device \par
{\i client} Client \par
{\i reg} Register \par
{\i value} Wert \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Null wenn erfolgreich beendet \par
}}{
Definiert in Zeile 53 der Datei i2c.c.}\par
{
Wird benutzt von lcv_config_write().}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
i2c.h-Dateireferenz\par \pard\plain 
{\tc\tcl2 \v i2c.h}
{\xe \v i2c.h}
{\bkmkstart AAAAAAAAGU}
{\bkmkend AAAAAAAAGU}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schnittstelle zu einem beliebigen I2C Bus. \par
}\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funktionen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
int {\b lcv_i2c_write_register} (char *device, unsigned char client, unsigned char reg, unsigned short value)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Lies ein Register \'FCber einen I2C-Bus. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
int {\b lcv_i2c_read_register} (char *device, unsigned char client, unsigned char reg)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt ein Register \'FCber einen I2C-Bus. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_i2c_dump_register} (char *device, unsigned char client, unsigned short start, unsigned short end)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Erstellt einen Dump eines Clients \'FCber einen I2C-Bus. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_i2c_scan_bus} (char *device)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Scannt den I2C-Bus. \par
}}}
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Ausf\'FChrliche Beschreibung\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schnittstelle zu einem beliebigen I2C Bus. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Autor:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Daniel Kummer, Sebastian Kummer \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Datum:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Donnerstag, Dezember 12, 2007 \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Version:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid 1.0 \par
}}{
Definiert in Datei {\b i2c.h}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentation der Funktionen\par
\pard\plain 
{\xe \v lcv_i2c_dump_register\:i2c.h}
{\xe \v i2c.h\:lcv_i2c_dump_register}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_i2c_dump_register (char * {\i device}, unsigned char {\i client}, unsigned short {\i start}, unsigned short {\i end})}
}\par
{\bkmkstart AAAAAAAAGV}
{\bkmkend AAAAAAAAGV}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Erstellt einen Dump eines Clients \'FCber einen I2C-Bus. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i device} Device \par
{\i client} Client \par
{\i start} Startadresse \par
{\i end} Endadresse \par
}
}{
Definiert in Zeile 151 der Datei i2c.c.}\par
{
Benutzt I2C_SLAVE_ADDR, lcv_log_error() und lcv_log_warning().}\par
}
{\xe \v lcv_i2c_read_register\:i2c.h}
{\xe \v i2c.h\:lcv_i2c_read_register}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
int lcv_i2c_read_register (char * {\i device}, unsigned char {\i client}, unsigned char {\i reg})}
}\par
{\bkmkstart AAAAAAAAGW}
{\bkmkend AAAAAAAAGW}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt ein Register \'FCber einen I2C-Bus. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i device} Device \par
{\i client} Client \par
{\i reg} Register \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Registerwert \par
}}{
Definiert in Zeile 96 der Datei i2c.c.}\par
{
Benutzt I2C_SLAVE_ADDR, lcv_log_error() und lcv_log_warning().}\par
}
{\xe \v lcv_i2c_scan_bus\:i2c.h}
{\xe \v i2c.h\:lcv_i2c_scan_bus}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_i2c_scan_bus (char * {\i device})}
}\par
{\bkmkstart AAAAAAAAGX}
{\bkmkend AAAAAAAAGX}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Scannt den I2C-Bus. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i device} Device \par
}
}{
Definiert in Zeile 211 der Datei i2c.c.}\par
{
Benutzt I2C_SLAVE_ADDR, lcv_log_error() und lcv_log_warning().}\par
}
{\xe \v lcv_i2c_write_register\:i2c.h}
{\xe \v i2c.h\:lcv_i2c_write_register}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
int lcv_i2c_write_register (char * {\i device}, unsigned char {\i client}, unsigned char {\i reg}, unsigned short {\i value})}
}\par
{\bkmkstart AAAAAAAAGY}
{\bkmkend AAAAAAAAGY}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Lies ein Register \'FCber einen I2C-Bus. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i device} Device \par
{\i client} Client \par
{\i reg} Register \par
{\i value} Wert \par
}
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
R\'FCckgabe:\par}\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid Null wenn erfolgreich beendet \par
}}{
Definiert in Zeile 53 der Datei i2c.c.}\par
{
Benutzt I2C_SLAVE_ADDR, lcv_log_error() und lcv_log_warning().}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
lcv-config.h-Dateireferenz\par \pard\plain 
{\tc\tcl2 \v lcv-config.h}
{\xe \v lcv-config.h}
{\bkmkstart AAAAAAAAGZ}
{\bkmkend AAAAAAAAGZ}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Enth\'E4lt die allgemeinen Definitionen des LCV Frameworks. \par
}\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Makrodefinitionen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b TRUE}\~ 1\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Booleans. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b FALSE}\~ 0\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b ERROR}\~ -1\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Errors. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b ERROR_ILLEGAL_VALUE}\~ -2\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b ERROR_ILLEGAL_SETTING}\~ -3\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b ERROR_ILLEGAL_PORT}\~ -4\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Ausf\'FChrliche Beschreibung\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Enth\'E4lt die allgemeinen Definitionen des LCV Frameworks. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Autor:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Daniel Kummer, Sebastian Kummer \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Datum:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Donnerstag, Dezember 12, 2007 \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Version:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid 1.0 \par
}}{
Definiert in Datei {\b lcv-config.h}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Makro-Dokumentation\par
\pard\plain 
{\xe \v ERROR\:lcv-config.h}
{\xe \v lcv-config.h\:ERROR}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define ERROR\~ -1}
}\par
{\bkmkstart AAAAAAAAHA}
{\bkmkend AAAAAAAAHA}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Errors. \par
}\par
{
Definiert in Zeile 29 der Datei lcv-config.h.}\par
{
Wird benutzt von lcv_gpio_read() und lcv_gpio_write().}\par
}
{\xe \v ERROR_ILLEGAL_PORT\:lcv-config.h}
{\xe \v lcv-config.h\:ERROR_ILLEGAL_PORT}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define ERROR_ILLEGAL_PORT\~ -4}
}\par
{\bkmkstart AAAAAAAAHB}
{\bkmkend AAAAAAAAHB}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 32 der Datei lcv-config.h.}\par
{
Wird benutzt von lcv_gpio_read() und lcv_gpio_write().}\par
}
{\xe \v ERROR_ILLEGAL_SETTING\:lcv-config.h}
{\xe \v lcv-config.h\:ERROR_ILLEGAL_SETTING}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define ERROR_ILLEGAL_SETTING\~ -3}
}\par
{\bkmkstart AAAAAAAAHC}
{\bkmkend AAAAAAAAHC}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 31 der Datei lcv-config.h.}\par
{
Wird benutzt von lcv_config_write().}\par
}
{\xe \v ERROR_ILLEGAL_VALUE\:lcv-config.h}
{\xe \v lcv-config.h\:ERROR_ILLEGAL_VALUE}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define ERROR_ILLEGAL_VALUE\~ -2}
}\par
{\bkmkstart AAAAAAAAHD}
{\bkmkend AAAAAAAAHD}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 30 der Datei lcv-config.h.}\par
{
Wird benutzt von lcv_config_write() und lcv_gpio_write().}\par
}
{\xe \v FALSE\:lcv-config.h}
{\xe \v lcv-config.h\:FALSE}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define FALSE\~ 0}
}\par
{\bkmkstart AAAAAAAAHE}
{\bkmkend AAAAAAAAHE}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 23 der Datei lcv-config.h.}\par
{
Wird benutzt von lcv_first_log_entry(), lcv_log() und lcv_read_bmp().}\par
}
{\xe \v TRUE\:lcv-config.h}
{\xe \v lcv-config.h\:TRUE}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define TRUE\~ 1}
}\par
{\bkmkstart AAAAAAAAHF}
{\bkmkend AAAAAAAAHF}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Booleans. \par
}\par
{
Definiert in Zeile 22 der Datei lcv-config.h.}\par
{
Wird benutzt von lcv_cam_reg_init(), lcv_cam_registers_buffer_init(), lcv_config_read(), lcv_config_write(), lcv_gpio_init(), lcv_gpio_write(), lcv_read_bmp(), lcv_regs_to_default() und lcv_write_bmp().}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
lcv-structs.h-Dateireferenz\par \pard\plain 
{\tc\tcl2 \v lcv-structs.h}
{\xe \v lcv-structs.h}
{\bkmkstart AAAAAAAAHG}
{\bkmkend AAAAAAAAHG}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definiert spezifische Strukturen f\'FCr die LCV. \par
}\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Datenstrukturen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
struct {\b lcv_reg_config}\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Konfigurationsstruktur f\'FCr LCV-Register. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
struct {\b lcv_picture}\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Bilderstruktur f\'FCr unsigned 8-bit Bilder. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
struct {\b lcv_pixel_bgr}\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Pixelstruktur f\'FCr BGR Pixel. \par
}}}
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Typdefinitionen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
typedef char * {\b lcv_gpio_config}\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Alias f\'FCr GPIO Port dev Adressen. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
typedef enum {\b image_types} {\b image_type}\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
typedef unsigned char {\b lcv_pixel_gray}\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Typendefinition f\'FCr Graustufen Pixelwert. \par
}}}
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Aufz\'E4hlungen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
enum {\b image_types} \{ {\b IMG_BGR} =  24, 
{\b IMG_GRAYSCALE} =  8
 \}\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
M\'F6gliche Bildtypen, 24Bit BGR Bitmap oder 8Bit Graustufen Bitmap. \par
}}}
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Ausf\'FChrliche Beschreibung\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Definiert spezifische Strukturen f\'FCr die LCV. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Autor:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Daniel Kummer, Sebastian Kummer \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Datum:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Donnerstag, Dezember 12, 2007 \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Version:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid 1.0 \par
}}{
Definiert in Datei {\b lcv-structs.h}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentation der benutzerdefinierten Typen\par
\pard\plain 
{\xe \v image_type\:lcv-structs.h}
{\xe \v lcv-structs.h\:image_type}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
typedef enum {\b image_types} {\b image_type}}
}\par
{\bkmkstart AAAAAAAAHH}
{\bkmkend AAAAAAAAHH}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 36 der Datei lcv-structs.h.}\par
}
{\xe \v lcv_gpio_config\:lcv-structs.h}
{\xe \v lcv-structs.h\:lcv_gpio_config}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
typedef char* {\b lcv_gpio_config}}
}\par
{\bkmkstart AAAAAAAAHI}
{\bkmkend AAAAAAAAHI}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Alias f\'FCr GPIO Port dev Adressen. \par
}\par
{
Definiert in Zeile 29 der Datei lcv-structs.h.}\par
}
{\xe \v lcv_pixel_gray\:lcv-structs.h}
{\xe \v lcv-structs.h\:lcv_pixel_gray}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
typedef unsigned char {\b lcv_pixel_gray}}
}\par
{\bkmkstart AAAAAAAAHJ}
{\bkmkend AAAAAAAAHJ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Typendefinition f\'FCr Graustufen Pixelwert. \par
}\par
{
Definiert in Zeile 66 der Datei lcv-structs.h.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentation der Aufz\'E4hlungstypen\par
\pard\plain 
{\xe \v image_types\:lcv-structs.h}
{\xe \v lcv-structs.h\:image_types}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
enum {\b image_types}}
}\par
{\bkmkstart AAAAAAAAHK}
{\bkmkend AAAAAAAAHK}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
M\'F6gliche Bildtypen, 24Bit BGR Bitmap oder 8Bit Graustufen Bitmap. \par
}{{{\b \par
Aufz\'E4hlungswerte: }}\par
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\xe \v IMG_BGR\:lcv-structs.h}
{\xe \v lcv-structs.h\:IMG_BGR}
{\b {\i IMG_BGR{\bkmkstart AAAAAAAAHL}
{\bkmkend AAAAAAAAHL}
}}  \par
{\xe \v IMG_GRAYSCALE\:lcv-structs.h}
{\xe \v lcv-structs.h\:IMG_GRAYSCALE}
{\b {\i IMG_GRAYSCALE{\bkmkstart AAAAAAAAHM}
{\bkmkend AAAAAAAAHM}
}}  \par
}
\par
{
Definiert in Zeile 35 der Datei lcv-structs.h.}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
log-config.h-Dateireferenz\par \pard\plain 
{\tc\tcl2 \v log-config.h}
{\xe \v log-config.h}
{\bkmkstart AAAAAAAAHN}
{\bkmkend AAAAAAAAHN}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Die Konfigurationsdatei f\'FCr {\b log.c}. \par
}\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Makrodefinitionen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
#define {\b LOG_FILE_NAME}\~ "lcv_logfile"\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Dateiname des Logiles. \par
}}}
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Ausf\'FChrliche Beschreibung\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Die Konfigurationsdatei f\'FCr {\b log.c}. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Autor:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Daniel Kummer, Sebastian Kummer \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Datum:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Donnerstag, Dezember 12, 2007 \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Version:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid 1.0 \par
}}{
Definiert in Datei {\b log-config.h}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Makro-Dokumentation\par
\pard\plain 
{\xe \v LOG_FILE_NAME\:log-config.h}
{\xe \v log-config.h\:LOG_FILE_NAME}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
#define LOG_FILE_NAME\~ "lcv_logfile"}
}\par
{\bkmkstart AAAAAAAAHO}
{\bkmkend AAAAAAAAHO}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Dateiname des Logiles. \par
}\par
{
Definiert in Zeile 16 der Datei log-config.h.}\par
{
Wird benutzt von lcv_first_log_entry() und lcv_log().}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
log.c-Dateireferenz\par \pard\plain 
{\tc\tcl2 \v log.c}
{\xe \v log.c}
{\bkmkstart AAAAAAAAHP}
{\bkmkend AAAAAAAAHP}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Implementiert das Logging f\'FCr das Host- und Zielsystem. \par
}{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include <stdio.h>}\par
{\f2 #include <time.h>}\par
{\f2 #include <string.h>}\par
{\f2 #include "lcv-config.h"}\par
{\f2 #include "log.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funktionen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_first_log_entry} ()\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_logging} (const unsigned char enable)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Aktiviert, bzw. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_log} (const char *entry)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt einen Eintrag in die Protokolldatei. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_log_error} (const char *entry, const char *function)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt einen Fehler-Eintrag in die Protokolldatei. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_log_warning} (const char *entry, const char *function)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt einen Warnungs-Eintrag in die Protokoll-Datei. \par
}}}
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Variablen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned char {\b logging_is_enabled} = TRUE\par
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
unsigned char {\b first_log_entry} = TRUE\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Ausf\'FChrliche Beschreibung\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Implementiert das Logging f\'FCr das Host- und Zielsystem. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Autor:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Daniel Kummer, Sebastian Kummer \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Datum:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Donnerstag, Dezember 12, 2007 \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Version:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid 1.0 \par
}}{
Definiert in Datei {\b log.c}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentation der Funktionen\par
\pard\plain 
{\xe \v lcv_first_log_entry\:log.c}
{\xe \v log.c\:lcv_first_log_entry}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_first_log_entry ()}
}\par
{\bkmkstart AAAAAAAAHQ}
{\bkmkend AAAAAAAAHQ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 69 der Datei log.c.}\par
{
Benutzt FALSE, first_log_entry und LOG_FILE_NAME.}\par
{
Wird benutzt von lcv_log().}\par
}
{\xe \v lcv_log\:log.c}
{\xe \v log.c\:lcv_log}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_log (const char * {\i entry})}
}\par
{\bkmkstart AAAAAAAAHR}
{\bkmkend AAAAAAAAHR}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt einen Eintrag in die Protokolldatei. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i entry} Eintrag \par
}
}{
Definiert in Zeile 32 der Datei log.c.}\par
{
Wird benutzt von lcv_config_write(), lcv_gpio_write(), lcv_log_error() und lcv_log_warning().}\par
}
{\xe \v lcv_log_error\:log.c}
{\xe \v log.c\:lcv_log_error}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_log_error (const char * {\i entry}, const char * {\i function})}
}\par
{\bkmkstart AAAAAAAAHS}
{\bkmkend AAAAAAAAHS}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt einen Fehler-Eintrag in die Protokolldatei. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i entry} Eintrag \par
{\i function} Funktion, in welcher der Fehler aufgetreten ist \par
}
}{
Definiert in Zeile 82 der Datei log.c.}\par
{
Wird benutzt von lcv_capture_frame(), lcv_capture_region(), lcv_i2c_dump_register(), lcv_i2c_read_register(), lcv_i2c_scan_bus() und lcv_i2c_write_register().}\par
}
{\xe \v lcv_log_warning\:log.c}
{\xe \v log.c\:lcv_log_warning}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_log_warning (const char * {\i entry}, const char * {\i function})}
}\par
{\bkmkstart AAAAAAAAHT}
{\bkmkend AAAAAAAAHT}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt einen Warnungs-Eintrag in die Protokoll-Datei. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i entry} Eintrag \par
{\i function} Funktion, in welcher die Warnung aufgetreten ist \par
}
}{
Definiert in Zeile 89 der Datei log.c.}\par
{
Wird benutzt von lcv_config_read(), lcv_config_write(), lcv_gpio_write(), lcv_i2c_dump_register(), lcv_i2c_read_register(), lcv_i2c_scan_bus() und lcv_i2c_write_register().}\par
}
{\xe \v lcv_logging\:log.c}
{\xe \v log.c\:lcv_logging}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_logging (const unsigned char {\i enable})}
}\par
{\bkmkstart AAAAAAAAHU}
{\bkmkend AAAAAAAAHU}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Aktiviert, bzw. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
deaktiviert die Protokollierung {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i enable} TRUE (Aktivieren), FALSE (Deaktiveren) \par
}
}{
Definiert in Zeile 27 der Datei log.c.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Variablen-Dokumentation\par
\pard\plain 
{\xe \v first_log_entry\:log.c}
{\xe \v log.c\:first_log_entry}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned char {\b first_log_entry} = TRUE}
}\par
{\bkmkstart AAAAAAAAHV}
{\bkmkend AAAAAAAAHV}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 25 der Datei log.c.}\par
{
Wird benutzt von lcv_first_log_entry() und lcv_log().}\par
}
{\xe \v logging_is_enabled\:log.c}
{\xe \v log.c\:logging_is_enabled}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
unsigned char {\b logging_is_enabled} = TRUE}
}\par
{\bkmkstart AAAAAAAAHW}
{\bkmkend AAAAAAAAHW}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
\par
{
Definiert in Zeile 20 der Datei log.c.}\par
{
Wird benutzt von lcv_log() und lcv_logging().}\par
}
\par \pard\plain 

\pard\plain \sect\sbkpage
\s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
\pard\plain \s2\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs28\kerning28\cgrid 
log.h-Dateireferenz\par \pard\plain 
{\tc\tcl2 \v log.h}
{\xe \v log.h}
{\bkmkstart AAAAAAAAHX}
{\bkmkend AAAAAAAAHX}
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Ein Werkzeug zur Protokollierung. \par
}{
\pard\plain \s18\widctlpar\fs22\cgrid {\f2 #include "lcv-config.h"}\par
{\f2 #include "lcv-structs.h"}\par
{\f2 #include "log-config.h"}\par
}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Funktionen\par
\pard\plain 

{
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_logging} (const unsigned char enable)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Aktiviert, bzw. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_log} (const char *entry)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt einen Eintrag in die Protokolldatei. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_log_error} (const char *entry, const char *function)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt einen Fehler-Eintrag in die Protokolldatei. \par
}}}
\pard\plain \s80\fi-360\li360\widctlpar\jclisttab\tx360{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0\pndec }\ls1\adjustright \fs20\cgrid 
void {\b lcv_log_warning} (const char *entry, const char *function)\par
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid {\i {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt einen Warnungs-Eintrag in die Protokoll-Datei. \par
}}}
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Ausf\'FChrliche Beschreibung\par
\pard\plain 
{
\pard\plain \s17\sa60\sb30\widctlpar\qj \fs22\cgrid {\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Ein Werkzeug zur Protokollierung. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
\par
{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Autor:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Daniel Kummer, Sebastian Kummer \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Datum:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid Donnerstag, Dezember 12, 2007 \par
}{{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Version:\par}\pard\plain \s61\li360\widctlpar\ql\adjustright \fs20\cgrid 1.0 \par
}}{
Definiert in Datei {\b log.h}.}\par
}
{\pard\widctlpar\brdrb\brdrs\brdrw5\brsp20 \adjustright \par}
\pard\plain \s3\sb240\sa60\keepn\widctlpar\adjustright \b\f1\cgrid 
Dokumentation der Funktionen\par
\pard\plain 
{\xe \v lcv_log\:log.h}
{\xe \v log.h\:lcv_log}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_log (const char * {\i entry})}
}\par
{\bkmkstart AAAAAAAAHY}
{\bkmkend AAAAAAAAHY}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt einen Eintrag in die Protokolldatei. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i entry} Eintrag \par
}
}{
Definiert in Zeile 32 der Datei log.c.}\par
{
Benutzt FALSE, first_log_entry, lcv_first_log_entry(), LOG_FILE_NAME und logging_is_enabled.}\par
}
{\xe \v lcv_log_error\:log.h}
{\xe \v log.h\:lcv_log_error}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_log_error (const char * {\i entry}, const char * {\i function})}
}\par
{\bkmkstart AAAAAAAAHZ}
{\bkmkend AAAAAAAAHZ}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt einen Fehler-Eintrag in die Protokolldatei. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i entry} Eintrag \par
{\i function} Funktion, in welcher der Fehler aufgetreten ist \par
}
}{
Definiert in Zeile 82 der Datei log.c.}\par
{
Benutzt lcv_log().}\par
}
{\xe \v lcv_log_warning\:log.h}
{\xe \v log.h\:lcv_log_warning}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_log_warning (const char * {\i entry}, const char * {\i function})}
}\par
{\bkmkstart AAAAAAAAIA}
{\bkmkend AAAAAAAAIA}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Schreibt einen Warnungs-Eintrag in die Protokoll-Datei. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
{\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i entry} Eintrag \par
{\i function} Funktion, in welcher die Warnung aufgetreten ist \par
}
}{
Definiert in Zeile 89 der Datei log.c.}\par
{
Benutzt lcv_log().}\par
}
{\xe \v lcv_logging\:log.h}
{\xe \v log.h\:lcv_logging}
\pard\plain \s4\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs20\cgrid {
{\b 
void lcv_logging (const unsigned char {\i enable})}
}\par
{\bkmkstart AAAAAAAAIB}
{\bkmkend AAAAAAAAIB}
{
\pard\plain \s51\li360\sa60\sb30\qj\widctlpar\qj\adjustright \fs20\cgrid 
{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
Aktiviert, bzw. \par
}{\s17\sa60\sb30\widctlpar\qj \fs22\cgrid 
deaktiviert die Protokollierung {\par
{\s5\sb90\sa30\keepn\widctlpar\adjustright \b\f1\fs20\cgrid 
Parameter:\par}
\pard\plain \s62\li720\widctlpar\ql\adjustright \fs20\cgrid {\i enable} TRUE (Aktivieren), FALSE (Deaktiveren) \par
}
}{
Definiert in Zeile 27 der Datei log.c.}\par
{
Benutzt logging_is_enabled.}\par
}

\pard\plain \sect\sbkpage
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid 
\s1\sb240\sa60\keepn\widctlpar\adjustright \b\f1\fs36\kerning36\cgrid Index\par 
\pard\plain 
{\tc \v Index}
{\field\fldedit {\*\fldinst INDEX \\c2 \\*MERGEFORMAT}{\fldrslt INDEX}}
}